說我有string
變量:Bulild字符串變量,它實際上是一個十六進制數
string str1 = "\x11";
說我想手動建立這個string
,意義,我有:
string str2 = "11"
,並希望天真地做:
string str3 = '\x' + "11"
有沒有辦法以str3 == str1
這樣的方式構建str3
?
說我有string
變量:Bulild字符串變量,它實際上是一個十六進制數
string str1 = "\x11";
說我想手動建立這個string
,意義,我有:
string str2 = "11"
,並希望天真地做:
string str3 = '\x' + "11"
有沒有辦法以str3 == str1
這樣的方式構建str3
?
是這樣的:
std::stringstream ss;
ss << (char) 0x11;
std::string str3 = ss.str();
有了:
#include <string>
#include <sstream>
或者,如果你真的有 「11」 字符串開頭:
std::string value = "11";
std::stringstream temp;
temp << std::hex << value;
char c;
temp >> c;
std::stringstream ss;
ss << c;
如果先有自己的整數低於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;
STR3總是等於STR3 – Geoffroy 2014-09-11 12:14:46
10倍。固定的。 – idanshmu 2014-09-11 12:21:34