在日常的應用裏面,程序難免會跟用戶進行互動,尤其是小遊戲程序,需要實時的檢測按鍵來判斷用戶的操作。那麼,鍵盤檢測如何通過代碼實現呢。
下面這段代碼是用來實現輸入一個按鍵並輸出對應按鍵ASCII碼鍵值的程序。
#include<stdio.h>
#include<conio.h>
#include"stdafx.h"
int main(){
int key; //定義int型變量key儲存鍵值
while (1) {
while (key = _getch()) { //檢測按鍵並將按鍵鍵值賦給key
printf("the key you pressed is %d\n",key);
}
}
return 0;
}
但是,這個程序存在缺陷,就是沒法讀取四個方向鍵的鍵值,而這四個方向鍵在實際情況中卻是應用廣泛
在讀取功能鍵和方向鍵的時候,要注意以下問題:
普通按鍵只需要讀取一次ASCII碼值,而功能鍵和方向鍵則需要兩次,因此這種類型的檢測代碼是這樣
#include<stdio.h>
#include<conio.h>
#include"stdafx.h"
int main(){
int key1, key2;
while (1) {
if (key1 = _getch()){
key2 = _getch();
}
switch (key2){
case 72:
printf("the key you press is up\n");
break;
case 80:
printf("the key you press is down\n");
break;
case 75:
printf("the key you press is right\n");
break;
case 77:
printf("the key you press is left\n");
break;
default:
break;
}
}
return 0;
}
附:按鍵鍵值對應圖!