1. 程式人生 > >C語言專題——從鍵盤輸入一個字元或功能鍵並判斷

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; 
}