Namespaces
Variants

std:: getchar

From cppreference.net
< cpp ‎ | io ‎ | c
Défini dans l'en-tête <cstdio>
int getchar ( ) ;

Lit le caractère suivant depuis stdin .

Équivalent à std:: getc ( stdin ) .

Table des matières

Paramètres

(aucun)

Valeur de retour

Le caractère obtenu en cas de succès ou EOF en cas d'échec.

Si l'échec a été causé par une condition de fin de fichier, définit également l'indicateur eof (voir std::feof() ) sur stdin . Si l'échec a été causé par une autre erreur, définit l'indicateur error (voir std::ferror() ) sur stdin .

Exemple

std::getchar avec vérification d'erreur. Quittez le programme en entrant le caractère ESC.

#include <cctype>
#include <cstdio>
#include <cstdlib>
#include <iomanip>
#include <iostream>
int main()
{
    for (int ch; (ch = std::getchar()) != EOF ;) // lire/afficher "abc" depuis l'entrée standard
    {
        if (std::isprint(ch))
            std::cout << static_cast<char>(ch) << '\n';
        if (ch == 27) // 'ESC' (échappement) en ASCII
            return EXIT_SUCCESS;
    }
    // Tester la raison de l'atteinte de EOF.
    if (std::feof(stdin)) // si l'échec est causé par une condition de fin de fichier
        std::cout << "Fin de fichier atteinte\n";
    else if (std::ferror(stdin)) // si l'échec est causé par une autre erreur
    {
        std::perror("getchar()");
        std::cerr << "Échec de getchar() dans le fichier " << std::quoted(__FILE__)
                  << " à la ligne # " << __LINE__ - 14 << '\n';
        std::exit(EXIT_FAILURE);
    }
    return EXIT_SUCCESS;
}

Sortie possible :

abc
a
b
c
^[

Voir aussi

obtient un caractère depuis un flux de fichier
(fonction)
Documentation C pour getchar