如何删除(或隐藏)输出的最后一个字符?



这是我的代码。我尝试在每个元素之后用逗号作为分隔符打印向量的内容。如何删除最后一个元素后面的逗号呢?

#include <iostream>
#include <vector>
#include <string>
using namespace std;
void printShoppingList(vector<string> s)
{
for (auto i = s.begin(); i != s.end(); ++i)   //iterate vector from start to end
cout<< *i<<", ";              //print each item from vector
}

因为现在我的输出是

Items: eggs, milk, sugar, chocolate, flour,

以逗号结尾

请帮忙删除输出末尾的逗号。

您可以访问循环中的迭代器,因此您可以检查:

for (auto i = s.begin(); i != s.end(); ++i) {
cout << *i;
if (i + 1 != s.end()) { std::cout <<", "; }
}

或者,您可以在元素之前加上逗号(除了第一个元素):

for (auto i = s.begin(); i != s.end(); ++i) {
if (i != s.begin()) { std::cout <<", "; }
cout << *i;
}

相关内容

  • 没有找到相关文章