[英]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.