C語言鍵盤檢測

在日常的應用裏面,程序難免會跟用戶進行互動,尤其是小遊戲程序,需要實時的檢測按鍵來判斷用戶的操作。那麼,鍵盤檢測如何通過代碼實現呢。
下面這段代碼是用來實現輸入一個按鍵並輸出對應按鍵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;
}

附:按鍵鍵值對應圖!
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章