tr0*_*ing 7 c++ string stl std
我有这个代码删除std :: string中的空格,它删除空格后的所有字符.所以,如果我有"abc def",它只返回"abc".如何让它从"abc def ghi"变为"abcdefghi"?
#include<iostream>
#include<algorithm>
#include<string>
int main(int argc, char* argv[]) {
std::string input, output;
std::getline(std::cin, input);
for(int i = 0; i < input.length(); i++) {
if(input[i] == ' ') {
continue;
} else {
output += input[i];
}
}
std::cout << output;
std::cin.ignore();
}
Run Code Online (Sandbox Code Playgroud)
问题是cin >> input只读到第一个空格.请getline()改用.(谢谢,@ BenjaminLindley!)
好吧,其他人提到的实际问题是关于cin >>
但你可以使用下面的代码从字符串中删除空格:
str.erase(remove(str.begin(),str.end(),' '),str.end());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19847 次 |
| 最近记录: |