我知道有std::cin
,但这需要用户输入字符串,然后按ENTER键。有没有办法简单地获得推送的下一个键,而无需按ENTER确认
答案 0 :(得分:10)
您正在寻找的是与操纵控制台有关,并且与操作系统有关。如果您使用的是基于UNIX的操作系统,请查看curses library,在Windows中,getch()
有kbhit()
和<conio.h>
个功能。
答案 1 :(得分:1)
您可以使用
#include <conio.h>
然后使用此
等案例捕获charchar c;
if (_kbhit())
{
c = getch();
switch(c)
{
case ‘\0H’ :
cout << "up arrow key!" << endl;
break;
}
}
小心:我没有尝试过......并且记得将整个事情放入“while(true)”进行测试。
答案 2 :(得分:1)
看起来most upvoted answer有点过时了。
ncurses库(基于上面提到的curses library)是一个可移植的实现,可用于基于unix和linux的操作系统,窗口等。
它支持各种终端接口。