C++ , gets
Résolu/Fermé
progfann
Messages postés
365
Date d'inscription
dimanche 11 mars 2007
Statut
Membre
Dernière intervention
23 septembre 2010
-
2 févr. 2009 à 15:59
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 2 févr. 2009 à 16:51
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 2 févr. 2009 à 16:51
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
2 févr. 2009 à 16:08
2 févr. 2009 à 16:08
Salut,
Normal, tu as un \n dans le buffer clavier ;).
Pourquoi ne tout simplement pas utiliser un "cin >> auteur" ?
Normal, tu as un \n dans le buffer clavier ;).
Pourquoi ne tout simplement pas utiliser un "cin >> auteur" ?
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
2 févr. 2009 à 16:32
2 févr. 2009 à 16:32
Bah, tu as juste à faire :
Pas besoin d'utiliser gets ;). Qui plus est gets est vraiment déconseillé, même en C.
De plus, fflush() n'est pas définie sur les entrées comme stdin. Pour vider le buffer clavier :
En C, on utilise :
Et en C++, on utilise :
getline(cin, auteur)
Pas besoin d'utiliser gets ;). Qui plus est gets est vraiment déconseillé, même en C.
De plus, fflush() n'est pas définie sur les entrées comme stdin. Pour vider le buffer clavier :
En C, on utilise :
while((c=getchar())!='\n' && c!=EOF);
Et en C++, on utilise :
cin.ignore(numeric_limits<int>::max(), '\n');
progfann
Messages postés
365
Date d'inscription
dimanche 11 mars 2007
Statut
Membre
Dernière intervention
23 septembre 2010
23
2 févr. 2009 à 16:45
2 févr. 2009 à 16:45
j'ai essayé le getline(cin,auteur); mais il me retourne une erreur:
no matching function for call to `getline(std::istream&, char[100])'
et j'ai les using namaspace std
Merci pour l'info
no matching function for call to `getline(std::istream&, char[100])'
et j'ai les using namaspace std
Merci pour l'info
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
>
progfann
Messages postés
365
Date d'inscription
dimanche 11 mars 2007
Statut
Membre
Dernière intervention
23 septembre 2010
2 févr. 2009 à 16:51
2 févr. 2009 à 16:51
Oui, normal. Il faut définir auteur comme string.
string auteur;pas de char [100] en C++ sauf cas particulier ;)
2 févr. 2009 à 16:13
OK ça va maintenant j'ai ajouté le fflush(stdin) pour vider le buffer.
Merci à vous,