C語言中getch()函數詳解及簡單實例。本站提示廣大學習愛好者:(C語言中getch()函數詳解及簡單實例)文章只能為提供參考,不一定能成為您想要的結果。以下是C語言中getch()函數詳解及簡單實例正文
C語言中getch()函數詳解及簡單實例
前言:
這個函數是一個不回顯函數,當用戶按下某個字符時,函數自動讀取,無需按回車,有的C語言命令行程序會用到此函數做游戲,但是這個函數並非標准函數,要注意移植性!
所以有這樣的一個接口,那就很牛逼了,至少可以做個游戲來玩下,結合ASCII碼,很容易寫個方向鍵控制的2048或者貪吃蛇等等有趣的游戲出來。
以下是以一個簡單的例子:
你會發現當你按下對應的按鍵的時候就會打印相應的語句。
#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 ; } }
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!