繁体   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