我知道如何用其他语言来做这件事,而不是C++,我不得不在这里使用它.
我有一组字符串,我打印到列表中,并且每个字符串之间需要逗号,但不是逗号.例如,在java中,我会使用stringbuilder,并在构建字符串后删除逗号.我如何用C++做到这一点?
auto iter = keywords.begin();
for (iter; iter != keywords.end( ); iter++ )
{
out << *iter << ", ";
}
out << endl;
Run Code Online (Sandbox Code Playgroud)
我最初尝试插入此块来执行此操作(在此处移动逗号打印)
if (iter++ != keywords.end())
out << ", ";
iter--;
Run Code Online (Sandbox Code Playgroud)
我讨厌小东西把我绊倒的时候.
编辑:谢谢大家.这就是我在这里发布这样的东西的原因.这么多好的答案,并以不同的方式解决.经过一个学期的Java和汇编(不同的类),不得不在4天内完成一个C++项目,这让我陷入了困境.我不仅得到了答案,还有机会思考解决这类问题的不同方法.真棒.
所以我正在接受输入
string input,word;
while(getline(cin, input)) {
stringstream ss;
ss<<input
while(ss >> word)
...
Run Code Online (Sandbox Code Playgroud)
并打印我想要的东西
cout <<word<<" ";
但是,当我这样做时,它会在每行的末尾创建一个额外的空格,我不希望那样。如果我不放那个空格,当我打印出来时,单词之间就不会有空格。有没有更简单的方法来计算我想要的单词,以便它们自动间隔?我可以做些什么来防止每行末尾出现多余的空格。