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

Replace character in std::string with hex value

本文关键字:替换 十六进制 字符 std string      更新时间:2023-10-16

我试图用std::replace替换std::string中的数字/十六进制值,但当我尝试执行fileBuf.replace(0x10, 1, "0x44");时,它只是用ASCII"0x44"扩展字符串,而不是用值0x44替换0x10位置的1个字符。有合适的方法吗?感谢

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

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