我正在尝试在C ++中将十六进制转换为字符串。这有什么STL功能吗?
例如,
int myHex = 0xff00;
string result = someFunc(myHex);
The result should be "0xff00" exactly.
我现在能想到的一种方法是建立地图。
typedef map<int, string> hex_to_str_map;
hex_to_string_map myMap {
{0x0, "0"},
{0x1, "1"},
...........
{0xf, "16"},
};
然后将十六进制数字逐位转换。
我尝试使用ostreamstream
,但这会将十六进制转换为十进制
template <typename T>
string NumberToString (T that) {
ostreamstream ss;
ss << that;
return ss.str()
}
我想要的是将转换后的字符串存储到矢量中,并在另一个函数中使用它。