Récupérer une chaine saisie par l'utilisateur : cin, getline... [C++] - C++ - Programmation
Marsh Posté le 08-10-2003 à 16:32:20
buffer overflow avec la 2ème
Marsh Posté le 08-10-2003 à 16:37:07
ouais j'aime pas trop cette forme, pour l'instant j'utilise la dernière mais je suis incapable d'arguementer mon choix...
Marsh Posté le 08-10-2003 à 17:29:08
je comprends pas la raison d'être de ce topic : si on veut lire une ligne entière dans une string, c'est obligatoirement la fonction getline, si on veut lire un mot dans une string l'opérateur >> des istream va bien (mais getline peut fonctionner également)
quand à votre prétendue fonction membre istream::getline(string &, size_t) elle n'existe pas.
donc je ne vois aucun problème
Marsh Posté le 09-10-2003 à 08:55:18
Taz a écrit : je comprends pas la raison d'être de ce topic : si on veut lire une ligne entière dans une string, c'est obligatoirement la fonction getline, si on veut lire un mot dans une string l'opérateur >> des istream va bien (mais getline peut fonctionner également) |
Citation : |
Source: http://www.cplusplus.com/ref/iostr [...] index.html
Testé avec gcc 3.2.3:
Code :
|
Effectivement elle n'existe pas mais je pense qu'il a fait une faute de frappe/recopie en mettant une string à la place d'un char*
PS: je ne trouve pas cette méthode très utile/pratique
Marsh Posté le 09-10-2003 à 08:58:45
ouais enfin toi tu prends un char * et taz parlait de prendre un string & (:O)
edit de fourbe
Marsh Posté le 09-10-2003 à 09:20:01
chrisbk a écrit : ouais enfin toi tu prends un char * et taz parlait de prendre un string & (:O) |
Faut laisser le temps aux gens de finir avant de leur gueuler dessus
Marsh Posté le 09-10-2003 à 09:22:20
chrisbk a écrit : ouais enfin toi tu prends un char * et taz parlait de prendre un string & (:O) |
y a pas de faute de frappe possible, vous vous êtes lamentablement plantés
Marsh Posté le 09-10-2003 à 09:27:58
Taz a écrit : |
j'ai rien dit, moi, hein ?
Marsh Posté le 09-10-2003 à 09:30:32
Taz a écrit : |
Seul l'intéréssé peu répondre
De toute façon l'intéret de cette méthode est nule
Marsh Posté le 10-10-2003 à 15:13:15
oui merci bien, j'utilise le getline(cin, string) qui me convient très bien!
au fait, Taz a bien dit pas de char* en c++ ? donc que des string quand on manipule des chaines de caractères ? c'est juste pour être sur...
Marsh Posté le 08-10-2003 à 16:30:49
Salut,
Je voudrais savoir quelle fonction faut-il préférer pour ce genre d'opération :
std::string s;
cin >> s;
ou
cin.getline(s, s.max_size());
ou
getline(cin, s);
ou mieux si vous avez!
merci
ANT