用十六进制值替换std :: string中的字符

时间:2013-07-10 03:07:01

标签: c++ string replace hex

我正在尝试使用std::string替换std::replace中的数字/十六进制值,但是当我尝试执行fileBuf.replace(0x10, 1, "0x44");时,它只是使用ASCII" 0x44&扩展字符串#34;而不是使用值0x10替换位置0x44上的1个字符。有没有正确的方法来做到这一点?感谢

1 个答案:

答案 0 :(得分:3)

您需要使用\x转义序列来表示十六进制字符。此外,由于您只替换一个字符,因此可以使用字符文字而不是字符串文字:

fileBuf.replace(0x10, 1, '\x44');