Boost::tokenizer séparées par des virgules (c++)

Devrait être facile pour vous les gars.....

Je suis en train de jouer autour avec des générateurs de jetons à l'aide de Boost et je veux créer un jeton qui est séparé par des virgules. voici mon code:

    string s = "this is, , ,  a test";
boost::char_delimiters_separator<char> sep(",");
boost::tokenizer<boost::char_delimiters_separator<char>>tok(s, sep);


for(boost::tokenizer<>::iterator beg= tok.begin(); beg!=tok.end(); ++beg)
{
    cout << *beg << "\n";
}

La sortie que je veux, c'est:

This is


 a test

Ce que je reçois est:

This
is
,
,
,
a
test

Mis à JOUR

Semblable à cette question: Si j'ai this is,,,a test et cout << "<" << *beg << "> "; modifié dans votre code, comment puis-je obtenir des chaînes vides aussi, comme <this is> <> <> <a string>?

OriginalL'auteur Lexicon | 2011-10-29