2

std::stringusingで数値/16 進値を置き換えよstd::replaceうとしていますが、試してみると、位置の 1 文字をvaluefileBuf.replace(0x10, 1, "0x44");に置き換えるのではなく、文字列を ASCII "0x44" に展開するだけです。これを行う適切な方法はありますか?ありがとう0x100x44

4

1 に答える 1

3

\x16 進文字を表すには、エスケープ シーケンスを使用する必要があります。さらに、1 文字だけを置換するため、文字列リテラルではなく文字リテラルを使用できます。

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