这是我的代码。我尝试在每个元素之后用逗号作为分隔符打印向量的内容。如何删除最后一个元素后面的逗号呢?
#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;
}