按回车键不用确认

我已经search了一段时间,在Windows系统中find一个在C编程中使用的函数,以确定哪个键被按下,而不需要“确认”键来确认。

我发现了kbhit() ,但是这只在按键时返回正值,而在没有按键的情况下为0。 我想要一个函数的相同的行为,但返回我的密钥的ASCII码。

原因是我想要在基于控制台的游戏上构build一些控件,在那里我需要箭头来导航玩家。 “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()块会等待输入,但是它会读取一个没有缓冲的按键,所以它不会等待您按下回车键。