私は現在C++を学んでいます。文字列から空白を削除し、空白のない文字列を返すメソッドをコーディングしようとしています これは私のコードです:
string removeSpaces(string input)
{
int length = input.length();
for (int i = 0; i < length; i++) {
if(input[i] == ' ')
input.erase(i, 1);
}
return input
}
ただし、これにはバグがあり、2 つまたは 3 つの空白が削除されません。これはネットで見つけた
s.erase(remove(s.begin(),s.end(),' '),s.end());
しかし、どうやらこれはiterator
(よく理解している場合)を返しているようです。iterator
文字列に戻す方法はありますinput
か?最も重要なのは、これが正しいアプローチですか?