【c语言中getch()是什么意思】C语言中getch()函数详解及简单实例

更新时间:2021-08-06    来源:C语言    手机版     字体:

【www.bbyears.com--C语言】

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

前言:

这个函数是一个不回显函数,当用户按下某个字符时,函数自动读取,无需按回车,有的C语言命令行程序会用到此函数做游戏,但是这个函数并非标准函数,要注意移植性!

所以有这样的一个接口,那就很牛逼了,至少可以做个游戏来玩下,结合ASCII码,很容易写个方向键控制的2048或者贪吃蛇等等有趣的游戏出来。

       以下是以一个简单的例子:

你会发现当你按下对应的按键的时候就会打印相应的语句。

 

 代码如下

#include

#include

#include

#include

#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  //右

  

intKEY_EXIT_STATU = 0 ;

intKEY_ENTER_STATU = 0 ; 

intKEY_SPACE_STATU = 0 ; 

  

intKEY_UP_STATU =   0 ; 

intKEY_DOWN_STATU =  0 ; 

intKEY_LEFT_STATU =  0 ; 

intKEY_RIGHT_STATU = 0 ; 

  

charch ; 

  

intget_value() ;

intmain(void)

{

  

  inti = 0;

  while(1) 

  {

    get_value();

  }

  return0 ; 

}

  

intget_value()

{

  ch = getch() ;

  system("cls");

  switch(ch)

  {

      caseESC : KEY_EXIT_STATU = 1 ;      

            printf("退出\n") ;break; 

      caseENTER :KEY_ENTER_STATU = 1 ;      

            printf("回车\n") ;break; 

      caseSPACE : 

            KEY_SPACE_STATU = 1 ;      

            printf("空格\n") ;break; 

      caseKEY_UP:case'w': 

            KEY_UP_STATU = 1 ;

            printf("上\n") ;break;

      caseKEY_DOWN:case's':

            KEY_DOWN_STATU = 1 ; 

            printf("下\n") ;break;

      caseKEY_LEFT:case'a':

            KEY_LEFT_STATU = 1 ;

            printf("左\n") ;break;

      caseKEY_RIGHT:case'd':

            KEY_RIGHT_STATU = 1 ;

            printf("右\n") ;break;

  }

}

 

本文来源:http://www.bbyears.com/asp/134302.html

猜你感兴趣