Maison >développement back-end >C++ >Comment puis-je saisir avec succès des espaces en utilisant « cin » en C ?

Comment puis-je saisir avec succès des espaces en utilisant « cin » en C ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-25 07:50:111003parcourir

How Can I Successfully Input Spaces Using `cin` in C  ?

Trouver un espace en C : surmonter le dilemme du symbole spatial

En C, rencontrer des difficultés à saisir des caractères d'espace peut laisser les programmeurs perplexes. Le comportement par défaut de la fonction cin lui fait ignorer les espaces, ce qui rend difficile la détection des espaces saisis par l'utilisateur.

Correction du comportement par défaut

Pour résoudre ce problème, une option consiste à modifier le comportement de cin à l'aide du manipulateur noskipws. Cette directive demande à cin de prendre en compte les espaces, y compris les espaces.

cin >> noskipws >> a[i];

Une approche alternative avec get()

Alternativement, si l'extraction de caractères individuels est préférée, le get () la fonction offre une solution plus simple. Cette approche implique l'utilisation de get() pour lire directement les caractères du flux d'entrée.

cin.get(a, n);

Dans ce scénario, get() continue l'extraction de caractères jusqu'à ce qu'il rencontre un caractère de nouvelle ligne (n) ou qu'il ait réussi à récupérer n- 1 caractères. Il ajoute ensuite automatiquement le caractère nul ( ) au tableau fourni.

Cette alternative offre un meilleur contrôle sur la saisie des caractères et permet la détection de caractères individuels, y compris les espaces. Pour plus d'informations, reportez-vous à la documentation officielle sur l'interface istream.

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!

Déclaration:
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