Maison > développement back-end > C++ > Quand devriez-vous utiliser `cin.ignore()` en C ?

Quand devriez-vous utiliser `cin.ignore()` en C ?

Mary-Kate Olsen
Libérer: 2025-01-04 01:28:43
original
265 Les gens l'ont consulté

When Should You Use `cin.ignore()` in C  ?

Comprendre cin.ignore() en C

En programmation C, lors de l'utilisation de l'entrée standard (cin), il est parfois nécessaire d'utiliser la commande cin.ignore() pour éviter de sauter les entrées de l'utilisateur. Cette commande est utilisée pour supprimer les caractères du tampon d'entrée, garantissant que la commande cin ou getline suivante lit correctement l'entrée prévue.

Pour illustrer ce besoin, considérons le scénario suivant. Sans utiliser cin.ignore(), le programme ignore la demande de chaîne et passe immédiatement à l'invite suivante. En effet, le caractère « n » (nouvelle ligne) saisi après la saisie numérique reste dans le tampon d'entrée. Les opérations cin suivantes consomment ce « n », empêchant le programme de lire correctement la chaîne d'entrée.

La commande cin.ignore() résout ce problème en supprimant un nombre spécifié de caractères (ou jusqu'à ce qu'un délimiteur spécifié soit atteint ) à partir du tampon d'entrée. Dans l'exemple de code fourni, la ligne suivante est utilisée :

cin.ignore(256, '\n');
Copier après la connexion

Cette commande demande au programme de sauter 256 caractères ou jusqu'à ce qu'il rencontre un caractère « n » dans le tampon d'entrée. Ce faisant, il efface l'entrée précédente et garantit que l'opération getline suivante lit correctement la chaîne saisie par l'utilisateur.

Prédire quand utiliser cin.ignore() nécessite de comprendre comment l'entrée est gérée en C . Lors de l'utilisation de cin, toutes les opérations d'entrée partagent un tampon commun. Après l'exécution d'une opération cin, tous les caractères restants, y compris les espaces et « n », restent dans la mémoire tampon. Si une opération cin ultérieure est tentée sans vider le tampon, ces caractères interféreront avec la nouvelle entrée. Par conséquent, il est nécessaire d'utiliser cin.ignore() chaque fois qu'il existe une possibilité de données non traitées dans le tampon qui pourraient affecter le prochain appel d'entrée.

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