我正在尝试使用std::string
替换std::replace
中的数字/十六进制值,但是当我尝试执行fileBuf.replace(0x10, 1, "0x44");
时,它只是使用ASCII" 0x44&扩展字符串#34;而不是使用值0x10
替换位置0x44
上的1个字符。有没有正确的方法来做到这一点?感谢
答案 0 :(得分:3)
您需要使用\x
转义序列来表示十六进制字符。此外,由于您只替换一个字符,因此可以使用字符文字而不是字符串文字:
fileBuf.replace(0x10, 1, '\x44');