因此,我尝试从字符串中删除空格,但是如果输入例如“ hello world”,则仅返回“ hello”,而不返回“ helloworld”。我不确定为什么会这样做。
string removeSpaces(string str)
{
str.erase(remove(str.begin(), str.end(), ' '), str.end());
return str;
}
int main()
{
std::string input;
std::cout << "Enter word: ";
std::cin >> input;
input = removeSpaces(input);
std::cout << input;
return 0;
}
答案 0 :(得分:6)
问题不在于功能(据我所知)。就是您读取输入的方式。
std::cin >> input
将读取直到空白。因此input
将是“你好”。
要阅读整行内容,请使用
std::getline(std::cin, input);
答案 1 :(得分:0)
因为std::cin >> input
仅读取“你好”。