Problème cin.getline

visualstar Messages postés 18 Date d'inscription lundi 18 février 2002 Statut Membre Dernière intervention 17 février 2005 - 26 oct. 2004 à 20:50
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 27 oct. 2004 à 17:57
Bonsoir,

J'ai un petit problème qui est grave chiant lol

Je programme sous linux en C++ et à un moment donné, je dois faire ceci :

fflush(stdin);
cout <<"\tNom : "; cin.getline(Nom_Titulaire, 20);
fflush(stdin);
cout <<"\tPrenom : "; cin.getline(Prenom_Titulaire, 20);
fflush(stdin);
cout <<"\tAdresse : "; cin.getline(Adresse_Titulaire, 100);

Nom_Titulaire, Prenom_Titulaire et Adresse_Titulaire sont des tableaux de char !

Mais le problème c'est que le premier cin.getline ne marche pas ! Et ceci, dans un "case" ou même dans une fonction à part.
Si je mets dans mon "main", en dehors du "case", là ca fonctionne !

Qqn peut m'aider ?
Merci !

5 réponses

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
26 oct. 2004 à 21:02
tes fflush( stdin) foutent la merde, ne fais jamais ca (c'est pas standard)

cout <<"\tNom : " << flush;
getline( cin, Nom_Titulaire );
...

avec

#include <string>

using namespace std;

string Nom_Titulaire;
0
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
26 oct. 2004 à 21:43
Oui, djl a raison, n'oublie pas non plu que le 2eme argument de cin.getline() est le caractère ASCII qui terminera la saisie; tu as choisi 20, lol, tu aurais pu aussi mettre '\n', c'était +simple et +clair pour toi ;-))

Genda67, à votre service !
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
26 oct. 2004 à 21:59
en fait c'est pas tout à fais ca, le deuxieme parametre est le nombre de caracteres à lire dans le flux, le caractere qui termine la saisie est en 3e parametre de la methode surchargée istream::getline
0
plus_plus_fab Messages postés 232 Date d'inscription vendredi 9 janvier 2004 Statut Membre Dernière intervention 8 janvier 2005
27 oct. 2004 à 17:38
Décidément, c'est très tendance fflush(stdin) !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
27 oct. 2004 à 17:57
j'ai meme appris que des profs l'enseignais, la ca devient grave et c'est pas ca qui va aider
0
Rejoignez-nous