在没有按“输入”的情况下获取c中的字符

时间:2011-02-22 16:26:02

标签: c scanf

有可能吗?使用常规scanf或getchar将无法正常工作,因为 输入字符后我必须按“输入”。

5 个答案:

答案 0 :(得分:5)

您正在接近ncurses

的域名

答案 1 :(得分:3)

C中的输入流被缓冲。

缓冲区是暂时保留数据的地方,直到准备好处理为止。

当发生以下三种情况之一时,缓冲区被刷新(清空):

  • 缓冲区已满。
  • 数据将打印到标准 输出。
  • 显式刷新缓冲区。 (这是按回车键的原因)。

您将不得不使用标准库中未包含的设施才能拥有该功能。

答案 2 :(得分:1)

流媒体功能正在阻碍。可能有fcntl选项可以关闭缓冲。或者您可以使用较低级别的read电话获得更好的运气。

答案 3 :(得分:1)

使用纯标准C是不可能的。您必须使用系统特定的库,如conio.h或Windows API等。

答案 4 :(得分:0)

getch()中的conio.h可能就是您所需要的,但请注意它是非标准的。