首页 > 编程 > C > 正文

C语言中getch()函数详解及简单实例

2020-01-26 14:12:42
字体:
来源:转载
供稿:网友

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

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选