有没有办法在标准 C++ 中直接从键盘读取输入? [复制]
Posted
技术标签:
【中文标题】有没有办法在标准 C++ 中直接从键盘读取输入? [复制]【英文标题】:Is there a way to read input directly from the keyboard in standard C++? [duplicate] 【发布时间】:2010-10-28 12:23:06 【问题描述】:我知道有std::cin
,但这需要用户输入一个字符串,然后按ENTER。有没有一种方法可以简单地获取按下的下一个键而无需按 ENTER 确认
【问题讨论】:
【参考方案1】:您要查找的内容与操作控制台有关,并且与操作系统相关。如果您使用的是基于 UNIX 的操作系统,请查看 curses library,而在 Windows 中,<conio.h>
中有 getch()
和 kbhit()
函数。
【讨论】:
【参考方案2】:看起来most upvoted answer 有点过时了。
ncurses 库(基于提到的curses library)是一个可移植的实现,可用于基于 unix 和 linux 的操作系统、windows 等。
支持多种终端接口。
【讨论】:
【参考方案3】:你可以使用
#include <conio.h>
然后用这种情况捕获字符
char c;
if (_kbhit())
c = getch();
switch(c)
case ‘\0H’ :
cout << "up arrow key!" << endl;
break;
注意:我没试过……记得把整个东西放到一个“while(true)”中去测试。
【讨论】:
我假设以上是关于有没有办法在标准 C++ 中直接从键盘读取输入? [复制]的主要内容,如果未能解决你的问题,请参考以下文章