C 言語では、getch() 関数を使用して stdio ストリームから文字を読み取ります。つまり、コンソールから文字を読み取りますが、画面には表示しません。構文は次のとおりです。 "int getch( void)" は、読み取られた文字を返します。
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 '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 ; } }
注:
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 サイトの他の関連記事を参照してください。