>` Opérateur ? " />
getline ne demande pas de saisie
Dans cet extrait de code, le problème survient lors de l'utilisation de getline après avoir utilisé l'opérateur >>. Lorsque >> ; est utilisé pour lire l'entrée, l'entrée de l'utilisateur est suivie d'un caractère de nouvelle ligne qui reste dans le tampon d'entrée. Ce comportement devient problématique lorsque getline est appelé immédiatement après, car il s'attend à lire une ligne d'entrée mais trouve le caractère de nouvelle ligne et se termine sans inviter l'utilisateur.
Solution :
Pour résoudre ce problème, il existe deux solutions viables solutions :
Utilisez ignorer pour consommer le Newline :
Appelez ignore pour consommer le caractère de nouvelle ligne du tampon d'entrée avant d'utiliser getline.
cin.ignore(); getline(cin, mystr);
Utilisez getline exclusivement :
Au lieu de mélanger >>, utilisez getline exclusivement pour lire toutes les entrées. Cette approche simplifie le code et élimine les problèmes potentiels liés à. caractères de nouvelle ligne.
getline(cin, name); getline(cin, i); getline(cin, mystr);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!