所以我正在接受输入
string input,word;
while(getline(cin, input)) {
stringstream ss;
ss<<input
while(ss >> word)
...
然后打印我想要的东西
cout <<word<<" ";
但是,当我这样做时,它会在每行的末尾创建一个额外的空格,我不希望这样。如果我不放那个空格,那么当我打印出来时,单词之间就没有空格了。有没有更简单的方法来计算我想要的单词,以便它们自动间隔?我可以做些什么来防止每行末尾出现额外的空格。
最佳答案
测试循环外的第一个单词提取,然后使用前导空格继续循环:
std::string input;
while(getline(std::cin, input))
{
std::istringstream ss(input);
std::string word;
if (ss >> word)
{
std::cout << word;
while (ss >> word)
std::cout << ' ' << word;
std::cout << '\n';
}
}
注意:为行完成添加了换行符。自行决定使用或删除。
关于c++ - 防止在我的行 C++ 的末尾打印额外的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37601555/