_getch
, _getwch
Ruft ein Zeichen aus der Konsole ab, ohne es zu wiederholen.
Wichtig
Diese API kann nicht in Anwendungen verwendet werden, die in Windows-Runtime ausgeführt werden. Weitere Informationen finden Sie im Artikel CRT functions not supported in Universal Windows Platform apps (In Apps für die universelle Windows-Plattform nicht unterstützte CRT-Funktionen).
Syntax
int _getch( void );
wint_t _getwch( void );
Rückgabewert
Gibt das gelesene Zeichen zurück. Es gibt keine Fehlerrückgabe.
Hinweise
Die _getch
Funktionen _getwch
lesen ein einzelnes Zeichen aus der Konsole, ohne dass das Zeichen wiedergegeben wird. Zum Lesen einer Funktionstaste oder Pfeiltaste muss jede Funktion zweimal aufgerufen werden. Der erste Aufruf wird zurückgegeben 0
oder 0xE0
. Der zweite Aufruf gibt den Schlüsselscancode zurück.
Diese Funktionen sperren den aufrufenden Thread und sind daher threadsicher. Informationen zu nicht gesperrten Versionen finden Sie unter _getch_nolock
, _getwch_nolock
.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Mapping generischer Textroutinen
Tchar.h -Routine |
_UNICODE und _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
---|---|---|---|
_gettch |
_getch |
_getch |
_getwch |
Anforderungen
Routine | Erforderlicher Header |
---|---|
_getch |
<conio.h> |
_getwch |
<conio.h> oder <wchar.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// crt_getch.c
// compile with: /c
// This program reads characters from
// the keyboard until it receives a 'Y' or 'y'.
#include <conio.h>
#include <ctype.h>
int main( void )
{
int ch;
_cputs( "Type 'Y' when finished typing keys: " );
do
{
ch = _getch();
ch = toupper( ch );
} while( ch != 'Y' );
_putch( ch );
_putch( '\r' ); // Carriage return
_putch( '\n' ); // Line feed
}
abcdefy
Type 'Y' when finished typing keys: Y
Siehe auch
Konsolen- und Port-E/A
_getche
, _getwche
_cgets
, _cgetws
getc
, getwc
_ungetch
, , _ungetwch
_ungetch_nolock
_ungetwch_nolock