C言語でのgetch()の使い方は何ですか?

青灯夜游
リリース: 2020-07-24 14:52:56
オリジナル
25646 人が閲覧しました

C 言語では、getch() 関数を使用して stdio ストリームから文字を読み取ります。つまり、コンソールから文字を読み取りますが、画面には表示しません。構文は次のとおりです。 "int getch( void)" は、読み取られた文字を返します。

C言語でのgetch()の使い方は何ですか?

C 言語の getch() 関数

関数: stdio ストリームから文字を読み取ります。コンソール 文字を読み取りますが、画面には表示しません

使用法:

int getchar(void);
ログイン後にコピー

この関数は非エコー関数です。ユーザーが特定の文字を押すと、関数は自動的にそれを読み上げます。 Enter を押してください。一部の C 言語コマンド ライン プログラムでは、この関数を使用してゲームを作成しますが、この関数は標準関数ではないため、移植性に注意してください。 Windows の

Getch() はヘッダー ファイル conio.h にあります。getch() 関数を使用するには、conio ヘッダー ファイルを参照する必要があります。

コード:

#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 ; 
  } 

}
ログイン後にコピー

注:

getchar の戻り値は int です。プログラムが getchar を呼び出すと、プログラムはユーザーがキーを押すのを待ちます。ユーザーを入力します。文字は、ユーザーが Enter キーを押すまでキーボード バッファーに保存されます (Enter 文字もバッファーに配置されます)。ユーザーが Enter キーを入力すると、getchar は stdio ストリームから一度に 1 文字ずつ読み取りを開始します。

getchar 関数の戻り値は、ユーザーが入力した最初の文字の ASCII コードです。エラーが発生した場合は、-1 が返され、ユーザーが入力した文字が画面にエコー表示されます。

ユーザーが return を押した場合 前に複数の文字が入力されていた場合、他の文字はキーボード バッファーに保持され、後続の getchar 呼び出しの読み取りを待機します。

つまり、後続の getchar 呼び出しユーザーがキーを押すのを待ちませんが、バッファを直接読み取ります バッファ領域内の文字は、バッファ領域内の文字が読み取られるまで、ユーザーがキーを押すのを待ちません。 getch と getchar の関数は同じです。違いは、getch はユーザーが Enter キーを押すのを待たずにキーボードから直接キー値を取得することです。ユーザーがキーを押している限り、getch はすぐに戻ります。戻り値は次のとおりです。 getch は、ユーザーが入力した ASCII コードです。エラーが発生した場合は、-1 が返されます。入力された文字は画面にエコーされません。

getch 関数は、プログラムのデバッグによく使用されます。デバッグ中、関連する結果は表示用にキーの位置に表示され、getch 関数を使用してプログラムが一時停止されます。いずれかのキーが押されると、プログラムは実行を継続します。

推奨: "

c 言語チュートリアル

以上がC言語でのgetch()の使い方は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!