Heim >Backend-Entwicklung >C#.Net-Tutorial >Wozu dient getch() in der C-Sprache?
In der Sprache C wird die Funktion getch() verwendet, um Zeichen aus dem stdio-Stream zu lesen, d. h. ein Zeichen von der Konsole zu lesen, es aber nicht auf dem Bildschirm anzuzeigen. Die Syntax lautet: „int getch( void)“ gibt die gelesenen Zeichen zurück.
getch()-Funktion in C-Sprache
Funktion: Zeichen aus dem stdio-Stream lesen, also aus Die Konsole liest ein Zeichen, zeigt es aber nicht auf dem Bildschirm an
Verwendung:
int getchar(void);
Diese Funktion ist eine Nicht-Echo-Funktion. Wenn der Benutzer ein Zeichen drückt, liest die Funktion es automatisch ohne Drücken Sie die Eingabetaste. Einige Befehlszeilenprogramme in C-Sprache verwenden diese Funktion zum Erstellen von Spielen. Diese Funktion ist jedoch keine Standardfunktion. Achten Sie daher auf die Portabilität!
Getch() befindet sich unter Windows in der Header-Datei von conio.h
. Um die Funktion getch() zu verwenden, müssen Sie auf die Header-Datei conio
verweisen.
Code:
#include <stdio.h> #include <fcntl.h> #include <stdlib.h> #include <conio.h> #define ESC 0x1B #define ENTER 0x0D #define SPACE 0x20 #define KEY_UP 72 //上 #define KEY_DOWN 80 //下 #define KEY_LEFT 75 //左 #define KEY_RIGHT 77 //右 int KEY_EXIT_STATU = 0 ; int KEY_ENTER_STATU = 0 ; int KEY_SPACE_STATU = 0 ; int KEY_UP_STATU = 0 ; int KEY_DOWN_STATU = 0 ; int KEY_LEFT_STATU = 0 ; int KEY_RIGHT_STATU = 0 ; char ch ; int get_value() ; int main(void) { int i = 0; while(1) { get_value(); } return 0 ; } int get_value() { ch = getch() ; system("cls"); switch(ch) { case ESC : KEY_EXIT_STATU = 1 ; printf("退出\n") ; break ; case ENTER :KEY_ENTER_STATU = 1 ; printf("回车\n") ; break ; case SPACE : KEY_SPACE_STATU = 1 ; printf("空格\n") ; break ; case KEY_UP:case 'w' : KEY_UP_STATU = 1 ; printf("上\n") ; break ; case KEY_DOWN:case 's' : KEY_DOWN_STATU = 1 ; printf("下\n") ; break ; case KEY_LEFT:case 'a' : KEY_LEFT_STATU = 1 ; printf("左\n") ; break ; case KEY_RIGHT:case 'd': KEY_RIGHT_STATU = 1 ; printf("右\n") ; break ; } }
Hinweis:
getchar hat einen int-Rückgabewert. Wenn das Programm getchar aufruft, wartet das Programm darauf, dass der Benutzer die Taste und drückt Geben Sie den Benutzer ein. Die Zeichen werden im Tastaturpuffer gespeichert, bis der Benutzer die Eingabetaste drückt (das Eingabezeichen wird auch im Puffer platziert, wenn der Benutzer die Eingabetaste eingibt, beginnt getchar, jeweils ein Zeichen aus dem stdio-Stream zu lesen). >
Der Rückgabewert der getchar-Funktion ist der ASCII-Code des ersten vom Benutzer eingegebenen Zeichens. Wenn ein Fehler auftritt, wird -1 zurückgegeben und die vom Benutzer eingegebenen Zeichen werden auf dem Bildschirm angezeigtWenn der Benutzer zuvor mehr als ein Zeichen eingibt, bleiben die anderen Zeichen im Tastaturpufferbereich und warten auf das Lesen nachfolgender getchar-Aufrufe.
Mit anderen Worten: nachfolgende getchar-Aufrufe wartet nicht darauf, dass der Benutzer eine Taste drückt, sondern liest direkt den Puffer. Die Zeichen im Pufferbereich warten nicht darauf, dass der Benutzer die Taste drückt, bis die Zeichen im Pufferbereich gelesen werden Die Funktionen von getch und getchar sind identisch. Der Unterschied besteht darin, dass getch den Schlüsselwert direkt von der Tastatur abruft, ohne darauf zu warten, dass der Benutzer eine Taste drückt getch ist der vom Benutzer eingegebene ASCII-Code. Wenn ein Fehler auftritt, werden die eingegebenen Zeichen nicht auf dem Bildschirm angezeigt.
Die getch-Funktion wird häufig zum Debuggen von Programmen verwendet Die Ergebnisse werden an Schlüsselpositionen angezeigt und dann wird die Getch-Funktion verwendet, um das Programm anzuhalten. Wenn eine beliebige Taste gedrückt wird, wird das Programm weiter ausgeführt.
Empfohlen: „
C-Sprach-Tutorial“ >》Das obige ist der detaillierte Inhalt vonWozu dient getch() in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!