构建实际上是十六进制数字的字符串变量

时间:2014-09-11 12:10:05

标签: c++ string hex

说我有string变量:

string str1 = "\x11";

说我想手动构建这个string,意思是,我有:

string str2 = "11"

并希望天真地执行:

string str3 = '\x' + "11"

有没有办法以str3

的方式构建str3 == str1

2 个答案:

答案 0 :(得分:2)

是这样的:

std::stringstream ss;
ss << (char) 0x11;
std::string str3 = ss.str();

使用:

#include <string>
#include <sstream>

或者如果你真的开始使用&#34; 11&#34;字符串:

std::string value = "11";
std::stringstream temp;
temp << std::hex << value;
char c;
temp >> c;
std::stringstream ss;
ss << c;

答案 1 :(得分:0)

如果你开始使用低于256的整数,那么你可以做

int small = 17; // 0x11 hex
sanity check here
str[0] = (char)small;

如果你开始使用字符串

int small = HexToInt("11"); // 0x11 hex, find a HexToInt on the next.
sanity check here
str[0] = (char)small;