Heim >Backend-Entwicklung >C#.Net-Tutorial >Wozu dient getch() in der C-Sprache?

Wozu dient getch() in der C-Sprache?

青灯夜游
青灯夜游Original
2020-07-24 14:52:5625724Durchsuche

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.

Wozu dient getch() in der C-Sprache?

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 &#39;w&#39; :  
            KEY_UP_STATU = 1 ; 
            printf("上\n") ; break ; 
      case KEY_DOWN:case &#39;s&#39; : 
            KEY_DOWN_STATU = 1 ;  
            printf("下\n") ; break ; 
      case KEY_LEFT:case &#39;a&#39; : 
            KEY_LEFT_STATU = 1 ; 
            printf("左\n") ; break ; 
      case KEY_RIGHT:case &#39;d&#39;: 
            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 angezeigt

Wenn 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn