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();
}
问题是cin >> input只读到第一个空格.请getline()改用.(谢谢,@ BenjaminLindley!)
好吧,其他人提到的实际问题是关于cin >>
但你可以使用下面的代码从字符串中删除空格:
str.erase(remove(str.begin(),str.end(),' '),str.end());