我想将存储在字符串中的十进制值转换为十六进制值并将其存储在字节变量中。我怎么能这样做?
例如
std::string DispalyAddress = params.substr(0,2);
结果为12
。
现在我想将12
转换为十六进制,即C,并将其存储在一个字节变量中。像
byte MyAddress = (byte)DispalyAddress.c_str();
答案 0 :(得分:1)
无论您byte
类型是什么(我认为它是char
或unsigned char
),如果我正确理解您的问题:
如果您可以使用C ++ 11,那么请执行
byte MyAddress = (byte)std::stoi(DisplayAddress, 0, 16);
如果没有,那么
byte MyAddress = (byte)strtol(DisplayAddress.c_str(), NULL, 16);
这将在MyAddress
中存储值18(0x12)。