【问题标题】:How to verify if there is some information in the stdin buffer in ANSI C in a portable way?如何以可移植的方式验证ANSI C中的stdin缓冲区中是否有一些信息?
【发布时间】:2021-04-19 23:08:01
【问题描述】:

我正在尝试在 ANSI C 中开发一个可移植的函数来验证标准输入缓冲区是否为空。这个想法是用它来验证用户是否按下了某个键。

在 Windows 中,使用 kbhit(来自 conio.h)很容易做到这一点,但它取决于操作系统。

但是,我想开发自己的便携功能。

【问题讨论】:

  • 可以接受 POSIX 方式吗?
  • "在 Windows 中,使用 kbhit(来自 conio.h)很容易做到这一点" nooo.停止使用 conio.h!
  • 检测是否按下键需要使用键盘驱动程序进行一些迭代。这超出了任何 c 标准的范围
  • 很遗憾得知您在 2021 年仍坚持使用 ANSI C。
  • @bolov 这是我的一个小烦恼:如果有人在做 X 并且它对他们有用,不要只说“不要做 X”而不说“做 Y” .

标签: c input user-input portability ansi


【解决方案1】:

ANSI C 和当前的 C 标准都没有提供这样做的方法。它只能使用特定于实现的扩展来完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-10
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多