【问题标题】:C++ how to read a key without waiting for key grip "Enter" on Linux and WindowsC++ 如何在 Linux 和 Windows 上读取键而不等待键握“Enter”
【发布时间】:2015-05-31 15:00:54
【问题描述】:

我个人认为标题很清楚,如果没有,我会尝试更多。仅适用于 Windows 的托管解决方案,不适用于 Linux。众所周知,“getchar()”方法仅在键盘按键“Enter”之后读取。

conio.h 库在 Linux 上不存在,并且 ncurses 或 curses 在构建时必须使用不同的命令,我认为这不是很有效率。

【问题讨论】:

  • 因为终端缓冲输入,程序在按下回车并且终端刷新之前不会接收到该行。您必须使用依赖于终端的解决方案(就像在 Windows 上,conio.h):ncurses 是要走的路。
  • @erenon 但我不明白怎么做。
  • 基本上你想要一个getch() 替代品?
  • @skrtbhtngr "'getch' 未在此范围内声明"。
  • 我想你唯一的选择是使用 ncurses 库中的函数。

标签: c++ linux console.readkey


【解决方案1】:

我想,标准输入上的 fscanf 会做到这一点。

【讨论】:

  • 什么是标准输入?图书馆?方法?
  • stdin 表示标准输入,即在这种情况下,您在键盘上键入的字符
  • 如果您需要读取每个字符而不是等待 CR/LF,那么 getchar 很可能是您需要的。
猜你喜欢
  • 2012-11-21
  • 2015-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多