C語言專題——從鍵盤輸入一個字元或功能鍵並判斷
/*
通過getch()從鍵盤輸入一個字元
要點:
1、需要在英文模式下輸入
2、該函式每次只能輸入一個值
3、當讀取功能鍵和方向鍵時,getch 需要被呼叫2次,第1次返回0或0xE0,第2次返回實際的鍵值
4、不能用來讀取:CTRL+break*/
程式舉例:
#include <conio.h>
#include <stdio.h>
int main()
{
int c;
while(1)
{
c=getch();
if (27==c) break;//按Esc鍵退出
if (0==c||0xe0==c) c|=getch()<<8;//非字元鍵,需要呼叫2次
printf("ASCII IS %04x!\n",c);//輸出ASCII碼值,可以知道你輸入的鍵的鍵值
if(13<c&&c<255) //普通的一些字元
{
printf("%c press!\n",c);
//break;
continue;
}
switch(c) //這裡只是舉了上下左右鍵,和TAB鍵,需要其它的鍵,可以根據上面輸出的ASCII碼值,自己新增
{
case 0x0009:
printf("TAB press\n");
//break;
continue;
case 0x48E0:
printf("up press\n");
//break;
continue;
case 0x4be0:
printf("left press\n");
//break;
continue;
case 0x4de0:
printf("right press\n");
//break;
continue;
case 0x50e0:
printf("down press\n");
//break;
continue;
}
}
return 0;
}