帕斯卡的readkey有什么不对劲的地方吗?在C或C ++中?

App*_*ker 3 c c++ console pascal console.readkey

我正在寻找一个等待用户按下键的控制台功能。我希望它像Pascal的readkey一样;如仅控制台解决方案中那样。没有GUI库/图形库/窗口库/ WinApi调用(Windows)。它应该是跨平台的,并且(最好)是C std库或C ++类库的一部分。那么,有没有这样的函数/类方法?

pmg*_*pmg 5

C标准库没有“键盘缓冲区”的概念。输入/输出主要基于行(在按ENTER键时触发)。

您有几种选择:

  • 使用像ncurses这样的外部库
  • 更改终端缓冲策略setvbuf()并使用并使用fgetc()(如果您未更改缓冲策略,请等待ENTER)