CPP读取0x0A作为字符串而不是十六进制

时间:2014-05-30 14:25:29

标签: c++ type-conversion hex

我从数据库中获取一些值,这些值是以逗号分隔的十六进制值(0x0A,0x01,0X0B)。我取它们用逗号分解它们但是当试图将0X0A用作十六进制值时,它将它视为字符串而不是十六进制数我想用十六进制对其进行类型转换。

1 个答案:

答案 0 :(得分:1)

您可以使用istringstreamstd::hex将十六进制字符串转换为数字值:

std::istringstream stream("0x0A");
int val = 0;
stream >> std::hex >> val;
std::cout >> val; // prints "10"