C++ scinde une chaîne

Je suis en train de découper une chaîne à l'aide des espaces comme un délimiteur. Je voudrais stocker chaque jeton dans une matrice ou un vecteur.

J'ai essayé.

    string tempInput;
    cin >> tempInput;
    string input[5];

    stringstream ss(tempInput); //Insert the string into a stream
    int i=0;
    while (ss >> tempInput){
        input[i] = tempInput;
        i++;
    }

Le problème est que si je input "ceci est un test", le tableau ne semble pour stocker les entrées[0] = "ce". Il ne contient pas de valeurs d'entrée[2] par l'intermédiaire de l'entrée[4].

J'ai aussi essayé en utilisant un vecteur, mais avec le même résultat.

probablement en double stackoverflow.com/questions/236129/c-how-to-split-a-string
pas vraiment dupe. C'est "Où j'ai fait une erreur" vs "Quelle est la meilleure façon de..."?
Alors que la question est exactement la même: comment scinder une chaîne, je crois que la question posée par @pmr traite avec le générique de l'émission, alors que, dans cette question, le problème n'est pas dans le réel de fractionnement
Oui, vous avez raison. Malheureusement, la plupart des réponses ne traitent pas la question de cette façon.

OriginalL'auteur Mike | 2010-04-28