Je voulais expérimenter avec Stringstream pour une tâche, mais je suis un peu confus sur la façon dont cela fonctionne. J'ai fait une recherche rapide mais je n'ai rien trouvé qui puisse répondre à ma question.comment lire stringstream avec la taille dynamique?
Dites que j'ai un flux avec une taille dynamique, comment pourrais-je savoir quand arrêter d'écrire dans la variable?
string var = "2 ++ asdf 3 * c";
stringstream ss;
ss << var;
while(ss){
ss >> var;
cout << var << endl;
}
et ma sortie serait:
2
++
asdf
3
*
c
c
Je ne sais pas pourquoi je reçois que 'c' supplémentaire à la fin, d'autant plus que _M_in_cur = 0x1001000d7 ""
Le fait que ce soit une chaîne de caractères ne change pas grand-chose - vous y lisez comme vous le feriez pour n'importe quel autre flux. –