Como lidar com a última vírgula, ao criar uma string separada por vírgula? [duplicado
Duplicatas possíveis:
Não imprima espaço após o último número
Imprimir listas com vírgulas C ++
#include <vector>
#include <iostream>
#include <sstream>
#include <boost/foreach.hpp>
using namespace std;
int main()
{
vector<int> VecInts;
VecInts.push_back(1);
VecInts.push_back(2);
VecInts.push_back(3);
VecInts.push_back(4);
VecInts.push_back(5);
stringstream ss;
BOOST_FOREACH(int i, VecInts)
{
ss << i << ",";
}
cout << ss.str();
return 0;
}
Esta imprime:1,2,3,4,5,
Como eu quiser:1,2,3,4,5
Como posso conseguir isso em umelegant caminho
Vejo que há alguma confusão sobre o que quero dizer com "elegante": por exemplo, sem abrandar a "cláusula se" no meu loop. Imagine 100.000 entradas no vetor! Se isso é tudo o que você tem a oferecer, prefiro remover a última vírgula depois de passar pelo loo