网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文
当前位置:书香门第 > 计算机 > C语言

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

栏目: C语言 / 发布于: / 人气:2.3W

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 ;

}

}