Je suis en train d'utiliser des pratiques de sécurité dans le traitement d'entrée avec des chiffres uniquement en C++, donc j'utiliser un objet stringstream comme si:problème en réutilisant un objet stringstream
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
int first, second;
string input;
stringstream sstream;
cout << "First integer: ";
getline(cin, input);
sstream.str(input);
sstream >> first;
cout << first << endl; //display user input in integers
cout << "Second integer: ";
getline(cin, input);
sstream.str(input);
sstream >> second;
cout << second << endl; //display user input in integers
getline(cin, input); //pause program
return 0;
}
Cependant, la deuxième fois il semble donner à la variable «second» une valeur arbitraire. Ceci est la sortie:
First integer: 1
1
Second integer: 2
2293592
Si je déclare deux objets stringstream et de les utiliser respectivement pour les deux variables, il semble fonctionner très bien. Est-ce que cela signifie que je ne peux pas réutiliser un objet stringstream de la manière que j'essaie de faire? Dans mon vrai programme, j'ai l'intention de gérer beaucoup plus que deux valeurs d'entrée de l'utilisateur, donc je veux juste m'assurer s'il y a une autre manière au lieu de faire plusieurs objets stringstream. Je doute que ce soit d'une grande pertinence, mais je suis sur Windows XP et j'utilise MinGW comme compilateur.
J'apprécie grandement toute aide.
Juste ce que je cherchais J'adore les réponses rapides sur ce site – kaykun