簡體   English   中英

不按回車就返回確認鍵

[英]Return pressed key without enter for confirmation

我已經搜索了一段時間,以找到Windows系統中要用於C編程的函數,以確定按下了哪個鍵,而無需“確認”鍵進行確認。

我找到了kbhit() ,但這僅在按鍵時返回正,而在沒有按鍵時返回0。 我希望函數具有相同的行為,但返回鍵的ASCII碼。

原因是我想在基於控制台的游戲上構建一些控件,在其中需要箭頭來導航玩家。 “ A”將使我的觀點向左移動,“ D”向右。

此時,我需要使用簡單的scanf("%c")來按'a'和'enter','d'和'enter',如果控制台僅在按字母時才做出反應,那會很好每個動作的輸入數。

看這個:

char ch;
ch = getch();
if(ch == 's') printf("you pressed s \n");

從事物的聲音中,您想要這樣的事情:

#include <conio.h>

int ch;

if (kbhit())
    ch = getch();

getch()阻止等待輸入,但是它將讀取單個擊鍵而不會緩沖,因此它不會等待您按下Enter鍵。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM