C语言 百分网手机站

C语言中getch()函数详解(附实例)

时间:2020-08-04 13:30:24 C语言 我要投稿

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 ;

  }

  }

【C语言中getch()函数详解(附实例)】相关文章:

C语言中指针变量作为函数参数详解11-20

c语言中有关随机函数的使用详解11-20

C语言中实现KMP算法实例11-19

java调用c函数的实例11-28

c语言中time函数的用法10-08

C语言中strpbr()函数的用法10-04

C语言中isalnum()函数和isalpha()函数的对比11-21

C语言指针函数和函数指针详解06-10

C语言中qsort快速排序使用实例10-03

C语言中函数的区分有哪些11-21