1

CString.replaceメソッドを使用しようとしていますが、残りの文字列を置き換えていないようです。

tmpStr.Replace(_T('in.'), _T(' '));

特定の行です。文字列「in」のすべてのインスタンスを削除したい。CStringtmpStr内。しかし、「in」の「i」を置き換えるだけのようです。スペースあり。そして残りはそれが放っておく。

文字列を文字列に置き換える方法はありますか?

4

1 に答える 1

7

呼び出す予定のオーバーロードを呼び出していません。CString::Replace2文字を取るオーバーロードがあります。これは、関数呼び出しが呼び出す文字です。に変更'in.'"in."ます(一重引用符ではなく二重引用符に注意してください)。同様に、に変更' '" "ます。

'in.'は複数文字のリテラルであり、これがどのように解釈されるかは実装によって定義されます。VCはそれをと同じと見なしているようiです。

于 2013-03-04T16:31:27.353 に答える