This question already has answers here:
Converting a string with a hexadecimal representation of a number to an actual numeric value
(6个答案)
5年前关闭。
我正在从数据库中获取一些值,这些值是逗号分隔的十六进制值(0x0A,0x01,0X0B)。我获取它们时用逗号将它们分解,但是当尝试使用0X0A作为十六进制值时,将其视为字符串而不是十六进制数字,我想以十六进制形式进行转换。
(6个答案)
5年前关闭。
我正在从数据库中获取一些值,这些值是逗号分隔的十六进制值(0x0A,0x01,0X0B)。我获取它们时用逗号将它们分解,但是当尝试使用0X0A作为十六进制值时,将其视为字符串而不是十六进制数字,我想以十六进制形式进行转换。
最佳答案
您可以将istringstream
与std::hex
一起使用,以将十六进制字符串转换为数值:
std::istringstream stream("0x0A");
int val = 0;
stream >> std::hex >> val;
std::cout >> val; // prints "10"
关于c++ - CPP读取0x0A作为字符串而不是十六进制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23956948/
10-13 08:23