Maison > développement back-end > C++ > Pourquoi « getline » ne demande-t-il pas de saisie après avoir utilisé l'opérateur « >> » ?

Pourquoi « getline » ne demande-t-il pas de saisie après avoir utilisé l'opérateur « >> » ?

Mary-Kate Olsen
Libérer: 2024-11-30 11:26:11
original
663 Les gens l'ont consulté

Why Doesn't `getline` Prompt for Input After Using the `>>`Opérateur ?
>` 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 :

  1. 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);
    Copier après la connexion
  2. 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);
    Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal