2

我试图在std::stringusing中替换一个数字/十六进制值,std::replace但是当我尝试这样做时,fileBuf.replace(0x10, 1, "0x44");它只是用 ASCII "0x44" 扩展字符串,而不是用0x10value替换 position 处的 1 字符0x44。有没有合适的方法来做到这一点?谢谢

4

1 回答 1

3

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

fileBuf.replace(0x10, 1, '\x44');
于 2013-07-10T03:11:19.953 回答