[C++] cin suivi de getline
NicoASM7
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
pca -
pca -
Bonjour,
je pense que ma question que je vais poser l'a déjà été de nombreuses fois, mais comme je n'ai pas trouvé la solution au problème après avoir cherché longuement je la pose ici en espérant que quelqu'un puisse m'aider là dessus.
voilà pour le code , ce que je veux c'est lire un entier suivi d'une chaîne de caractères, une ligne entière plus précisément et dans cet ordre.
int i;
string s;
cin >> i;
getline(cin,s);
Lors de l'exécution, l'entier est demandé mais ensuite le getline est sauté.
Après avoir changé l'ordre en mettant le getline avant le cin, cela ne me saute pas le getline : ainsi dans ce cas ça marche.
Seulement j'aimerais que cela marche dans l'ordre lecture entier et chaîne ..
J'ai vu dansdes posts extérieurs à ce site que certains utilisaient cin.clear(), ou cout << flush . Je me doutais bien que le problème portait sur le buffer. (en C avec fflush(stdin);)
Néanmoins je n'ai pas trouvé la solution.
Merci à tous ceux pouvant m'aider de la manière la plus simple ( si possible ne pas utiliser d'autres #include que ceux de string et iostream) dans la mesure où je suis étudiant en 1ère année et je ne peux pas me permettre de mettre quelque chose que je connais pas du tout.
je pense que ma question que je vais poser l'a déjà été de nombreuses fois, mais comme je n'ai pas trouvé la solution au problème après avoir cherché longuement je la pose ici en espérant que quelqu'un puisse m'aider là dessus.
voilà pour le code , ce que je veux c'est lire un entier suivi d'une chaîne de caractères, une ligne entière plus précisément et dans cet ordre.
int i;
string s;
cin >> i;
getline(cin,s);
Lors de l'exécution, l'entier est demandé mais ensuite le getline est sauté.
Après avoir changé l'ordre en mettant le getline avant le cin, cela ne me saute pas le getline : ainsi dans ce cas ça marche.
Seulement j'aimerais que cela marche dans l'ordre lecture entier et chaîne ..
J'ai vu dansdes posts extérieurs à ce site que certains utilisaient cin.clear(), ou cout << flush . Je me doutais bien que le problème portait sur le buffer. (en C avec fflush(stdin);)
Néanmoins je n'ai pas trouvé la solution.
Merci à tous ceux pouvant m'aider de la manière la plus simple ( si possible ne pas utiliser d'autres #include que ceux de string et iostream) dans la mesure où je suis étudiant en 1ère année et je ne peux pas me permettre de mettre quelque chose que je connais pas du tout.
A voir également:
- [C++] cin suivi de getline
- Suivi des modifications word - Guide
- Suivi colis - Guide
- Suivi de position google - Guide
- Suivi position google - Guide
- Suivi dhgate - Forum Consommation & Internet