Namespaces
Variants

std:: getchar

From cppreference.net
< cpp ‎ | io ‎ | c
Definiert in Header <cstdio>
int getchar ( ) ;

Liest das nächste Zeichen von stdin .

Entspricht std:: getc ( stdin ) .

Inhaltsverzeichnis

Parameter

(keine)

Rückgabewert

Das erhaltene Zeichen bei Erfolg oder EOF bei Fehler.

Wenn der Fehler durch eine Dateiende-Bedingung verursacht wurde, wird zusätzlich der eof -Indikator gesetzt (siehe std::feof() ) auf stdin . Wenn der Fehler durch einen anderen Fehler verursacht wurde, wird der error -Indikator gesetzt (siehe std::ferror() ) auf stdin .

Beispiel

std::getchar mit Fehlerüberprüfung. Programm durch Eingabe der ESC-Taste beenden.

#include <cctype>
#include <cstdio>
#include <cstdlib>
#include <iomanip>
#include <iostream>
int main()
{
    for (int ch; (ch = std::getchar()) != EOF ;) // Lese/Gib "abc" von stdin aus
    {
        if (std::isprint(ch))
            std::cout << static_cast<char>(ch) << '\n';
        if (ch == 27) // 'ESC' (Escape) in ASCII
            return EXIT_SUCCESS;
    }
    // Prüfe Grund für EOF-Erreichen.
    if (std::feof(stdin)) // wenn Fehler durch Dateiende verursacht
        std::cout << "Dateiende erreicht\n";
    else if (std::ferror(stdin)) // wenn Fehler durch anderen Fehler verursacht
    {
        std::perror("getchar()");
        std::cerr << "getchar() fehlgeschlagen in Datei " << std::quoted(__FILE__)
                  << " in Zeile # " << __LINE__ - 14 << '\n';
        std::exit(EXIT_FAILURE);
    }
    return EXIT_SUCCESS;
}

Mögliche Ausgabe:

abc
a
b
c
^[

Siehe auch

liest ein Zeichen aus einem Dateistrom
(Funktion)
C-Dokumentation für getchar