尝试获取输入字符串并从中删除空格。除非它到达白色空间,否则它也会删除所有内容。
这是我的代码(在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;
}
返回与输入相同的字符串,不删除空格。
答案 0 :(得分:3)
函数removeSpaces
按值输入(它创建一个副本),因此它不会更改输入字符串。删除空格的字符串将从函数返回,因此您需要使用该字符串。尝试:
string output = removeSpaces(input);
cout << output;