Je le code suivant:comportement bizarre avec std :: getline et std :: vecteur <std::string>
std::vector<std::string> final_output;
std::string input;
int tries = 0;
std::cin >> tries;
int counter = 0;
while(counter < tries) {
std::getline(std::cin, input);
final_output.push_back(input);
++counter;
}
Compte tenu de l'entrée:
3
Here Goes
Here Goes 2
La sortie est:
<blank line>
Here Goes
Here Goes 2
Bizarrement, il semble entrer une ligne vide comme entrée pour la première fois qu'il s'exécute.
Cependant, si je le code comme:
int tries = 3; // explicitly specifying the number of tries
int counter = 0;
while(counter < tries) {}
Il fonctionne comme prévu. Pourquoi le code std::cin >> tries
fait-il échouer le code?
Je l'ai testé avec VC 2010 et de g ++ 4.4.3
Merci, je l'ai maintenant. – user225312