std:: getchar
| I/O manipulators | ||||
| Print functions (C++23) | ||||
| C-style I/O | ||||
| Buffers | ||||
|
(C++23)
|
||||
|
(
C++98/26*
)
|
||||
|
(C++20)
|
||||
| Streams | ||||
| Abstractions | ||||
| File I/O | ||||
| String I/O | ||||
| Array I/O | ||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(C++23)
|
||||
|
(
C++98/26*
)
|
||||
|
(
C++98/26*
)
|
||||
|
(
C++98/26*
)
|
||||
| Synchronized Output | ||||
|
(C++20)
|
||||
| Types | ||||
| Error category interface | ||||
|
(C++11)
|
||||
|
(C++11)
|
| Types and objects | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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
|
|