C语言中getch()函数详解及简单实例
C语言中getch()函数详解及简单实例
前言:
这个函数是一个不回显函数,当用户按下某个字符时,函数自动读取,无需按回车,有的C语言命令行程序会用到此函数做游戏,但是这个函数并非标准函数,要注意移植性!
所以有这样的一个接口,那就很牛逼了,至少可以做个游戏来玩下,结合ASCII码,很容易写个方向键控制的2048或者贪吃蛇等等有趣的游戏出来。
以下是以一个简单的例子:
你会发现当你按下对应的按键的时候就会打印相应的语句。
#include#include #include #include #defineESC0x1B #defineENTER0x0D #defineSPACE0x20 #defineKEY_UP72//上 #defineKEY_DOWN80//下 #defineKEY_LEFT75//左 #defineKEY_RIGHT77//右 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; } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!