尝试获取输入字符串并从中删除空格。除非它到达空白区域,否则它也会删除之后的所有内容。
这是我的代码(从 stackoverflow 上的类似主题中获取):
string removeSpaces(string s){
s.erase(remove(s.begin(),s.end(), ' '),s.end());
return s;
}
例如,如果我输入“1 +1”,它返回“1”。我该如何解决这个问题?
这是我尝试过的完整示例:
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string input;
string removeSpaces(string s){
s.erase(remove(s.begin(),s.end(), ' '),s.end());
return s;
}
int main(){
getline(cin, input);
removeSpaces(input);
cout << input;
}
返回一个与输入相同的字符串,没有删除空格。
最佳答案
removeSpaces
函数按值获取输入(它创建一个拷贝),因此它不会更改输入字符串。函数返回删除了空格的字符串,因此您需要改用它。尝试:
string output = removeSpaces(input);
cout << output;
关于c++ - 无法删除空格。 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26961300/