Wie man Stringstream verwendet, um durch Kommas getrennte Zeichenfolgen zu trennen [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Wie kann ich die Wörter einer Zeichenfolge durchlaufen? 76 answers

Ich habe folgenden Code:

std::string str = "abc def,ghi";
std::stringstream ss(str);

string token;

while (ss >> token)
{
    printf("%s\n", token.c_str());
}

Die Ausgabe ist:

AB
def, ghi

So dasstringstream::>>er @ -Operator kann Zeichenfolgen durch Leerzeichen, aber nicht durch Kommas trennen. Gibt es eine Möglichkeit, den obigen Code zu ändern, damit ich das folgende Ergebnis erhalte?

Eingan: "abc, def, ghi"

Ausgab:
AB
def
ghi

Antworten auf die Frage(2)

Ihre Antwort auf die Frage