私は持っていますstd::string
、どうすれば:
文字を置き換えることができ%%
ますか?
std::replace( s.begin(), s.end(), ':', '%%' );
上記のコードは機能しません:
エラー引数リストに一致するインスタンスはありません
ありがとう!
:
残念ながら、 1回のショットですべてのキャラクターを置き換える方法はありません。ただし、次のようにループで実行できます。
string s = "quick:brown:fox:jumps:over:the:lazy:dog";
int i = 0;
for (;;) {
i = s.find(":", i);
if (i == string::npos) {
break;
}
s.replace(i, 1, "%%");
}
cout << s << endl;
このプログラムは印刷します
quick%%brown%%fox%%jumps%%over%%the%%lazy%%dog
最初のコロンのみを置き換える必要がある場合は、ループの本体を、その周りのループなしで単独で使用します。