可能重复:
C++ 将字符串转换为十六进制,反之亦然
尝试我在 StackOverflow 中找到的这个示例代码......
std::string text = "¯"; // AF in HEX ASCII.
std::ostringstream result;
result << std::setw(2) << std::setfill('0') << std::hex << std::uppercase;
std::copy(text.begin(), text.end(), std::ostream_iterator<unsigned int>(result, " "));
result.str() 将是 'FFFFFFAF' 而不仅仅是 'AF'
我能做些什么?
我的文本可以有多个字符,例如: text = '¯ABCÈ'; // AF414243C8 “转换”后的结果是:FFFFFFAF414243FFFFFFC8。
.
好吧,我用替换解决了它......在这种情况下这不是一个好习惯,但解决了。
if(value > 6)
{ //replace
std::string& str = stringlist2[count];
const std::string& from = "FFFFFF";
const std::string& to = "";
size_t j;
for ( ; (j = stringlist2[count].find( from )) != string::npos ; ) {
stringlist2[count].replace( j, from.length(), to );
}
}