Buffer cin, caractère de fin
Bonjour,
Je ne comprend pas bien le principe de cin et cout, je vous explique de suite ma logique:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
int x;
string texte;
cin >> x;
// Buffer = 16\n (par exemple)
// x = 16;
// Il reste "\n" donc dans le buffer
cin >> texte;
// "cin" regarde dans le buffer et trouve "\n" donc ne demande pas à l'utilisateur d'entrer du texte
// Donc pour moi texte = "\n" |
Sauf que voila, ma logique n'est apparemment pas la bonne. Je cherche donc des explications au fonctionnement de cin et cout, je vous remercie d'avance !
Alors qu'avec getline(), ma logique fonctionne, serait-ce parce que cin ignore "\n"?