我从数据库中获取一些值,这些值是以逗号分隔的十六进制值(0x0A,0x01,0X0B)。我取它们用逗号分解它们但是当试图将0X0A用作十六进制值时,它将它视为字符串而不是十六进制数我想用十六进制对其进行类型转换。
答案 0 :(得分:1)
您可以使用istringstream
和std::hex
将十六进制字符串转换为数字值:
std::istringstream stream("0x0A");
int val = 0;
stream >> std::hex >> val;
std::cout >> val; // prints "10"