【问题标题】:In C, how can i get input (integer) without using ENTER? [duplicate]在 C 中,如何在不使用 ENTER 的情况下获取输入(整数)? [复制]
【发布时间】:2016-12-27 12:08:38
【问题描述】:

我不能使用 scanf() 因为要接收整数输入,您需要按 ENTER(当您运行程序时)。

【问题讨论】:

  • 我需要快速回答,所以请帮我解决这个问题
  • 顺便说一句,我需要从用户那里获取同一行中的 4 位数字,例如 4563 结束,然后程序应该继续而不等待用户按 Enter(如果有人把我的问题弄错了,我希望这个评论会有所帮助)
  • thx 伙计们,但最后我想到了将 getch 与 ascii 表一起使用 XD

标签: c input int scanf


【解决方案1】:

使用 curses 库并使用 getch 函数读取一个键而不按 enter。这适用于linux,我认为你也可以在windows上使用它

【讨论】:

  • 为什么要诅咒?你能详细说明一下吗?
  • 这是我所知道的唯一一个可以做你想做的事情的图书馆
  • 我没有问这个问题,还有比stdio的getchar有什么优势?
  • @saeleko getchar,就像scanf,从标准输入读取,在大多数终端上默认是行缓冲的。没有标准函数可以改变这种行为,但 curses 因其可移植性而成为一个不错的选择。
  • @Quentin 啊对,我知道 scanf 被缓冲,而不是 getchar。谢谢
【解决方案2】:

如果您在 Windows 中,请使用 conio.h 中的 getch() 如果你在 Unix/Linux.. 你可能需要一些终端/tty 调整。在这里检查:

What is Equivalent to getch() & getche() in Linux?

【讨论】:

  • getch() 也适用于整数?
猜你喜欢
  • 1970-01-01
  • 2017-02-20
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 2015-02-13
  • 1970-01-01
  • 2013-01-24
相关资源
最近更新 更多