转换十六进制并存储到字节

时间:2014-11-10 11:54:25

标签: c++

我想将存储在字符串中的十进制值转换为十六进制值并将其存储在字节变量中。我怎么能这样做?

例如

std::string DispalyAddress = params.substr(0,2);

结果为12

现在我想将12转换为十六进制,即C,并将其存储在一个字节变量中。像

这样的东西
byte MyAddress = (byte)DispalyAddress.c_str();

1 个答案:

答案 0 :(得分:1)

无论您byte类型是什么(我认为它是charunsigned char),如果我正确理解您的问题:

如果您可以使用C ++ 11,那么请执行

byte MyAddress = (byte)std::stoi(DisplayAddress, 0, 16);

如果没有,那么

byte MyAddress = (byte)strtol(DisplayAddress.c_str(), NULL, 16);

这将在MyAddress中存储值18(0x12)。