文字列 CorrAns = "Text" があります。特定の位置の文字を別の文字列の文字に置き換えたいと考えています。私は以下を使用しました:
CorrAns.replace(1,1,OtherString.at(pos));
しかし、エラーが発生しました。これを行う最善の方法は何ですか??
これを行う簡単な方法は次のとおりです。
CorrAns[1] = OtherString[pos];
どうしても置換機能を使用したい場合は、 このリファレンスを確認してください。1 つの正しい呼び出しは次のようになります。
CorrAns.replace(1, 1, 1, OtherString.at(pos));
replace
オーバーロードを取ることはありませんsize, size, char
。あなたがしたい
CorrAns.replace(1, 1, 1, OtherString.at(pos));
また
CorrAns.replace(1, 1, OtherString.substr(pos, 1));
at
ボード全体で(または[]
演算子を)使用するだけです:
corrAns[1] = otherString[pos];
(必要なセマンティクスが得られることはめったにないことに注意してくださいat
。境界エラーが前提条件の失敗である場合は、通常の場合のように、最後に必要なのは例外です。)
あなたの構文は間違っています。replace() 関数にはいくつかのメソッドがあります。以下を確認してください: