有没有办法在标准C ++中直接从键盘读取输入?

时间:2009-05-24 00:31:18

标签: c++ input console keyboard

我知道有std::cin,但这需要用户输入字符串,然后按ENTER键。有没有办法简单地获得推送的下一个键,而无需按ENTER确认

3 个答案:

答案 0 :(得分:10)

您正在寻找的是与操纵控制台有关,并且与操作系统有关。如果您使用的是基于UNIX的操作系统,请查看curses library,在Windows中,getch()kbhit()<conio.h>个功能。

答案 1 :(得分:1)

您可以使用

#include <conio.h>

然后使用此

等案例捕获char
char 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的操作系统,窗口等。

它支持各种终端接口。