Maison >développement back-end >C++ >Comment puis-je lire les espaces dans l'entrée C ?

Comment puis-je lire les espaces dans l'entrée C ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-02 05:29:13908parcourir

How Can I Read Spaces in C   Input?

Identification et lecture des espaces en C

Les opérations d'entrée et de sortie en C suivent des règles spécifiques concernant les caractères d'espacement. Par défaut, les manipulateurs de flux cin et cout ignorent les espaces lors de la lecture ou de l'écriture de données. Cela peut poser des difficultés lors de la tentative de capture spécifique de caractères d'espace.

Dans l'extrait de code fourni :

int main() {
    char a[10];
    for (int i = 0; i < 10; i++) {
        cin >> a[i];
        if (a[i] == ' ')
            cout << "It is a space!!!" << endl;
    }
    return 0;
}

le programme ignore les espaces lors de la saisie. Pour résoudre ce problème, envisagez les approches suivantes :

Utilisation du manipulateur noskipws :

Ce manipulateur désactive le comportement de saut d'espaces par défaut :

cin >> noskipws >> a[i];

Utilisation de la fonction cin.get() :

Cette fonction lit caractères du tampon d'entrée, espaces compris :

cin.get(a, n);

où n est le nombre de caractères à lire.

Remarque : cin.get() arrête de lire les caractères en rencontrant une nouvelle ligne ou en atteignant la limite spécifiée. Il ajoute un caractère nul ( ) au tableau pour terminer la chaîne.

Pour plus d'informations sur les opérations d'entrée et de sortie, reportez-vous à la documentation sur les interfaces std::cin et std::cout.

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