繁体   English   中英

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

[英]getting a char in c without pressing “enter”

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

你正在接近ncurses领域。

C中的输入流被缓冲。

缓冲区是临时保存数据的位置,直到准备好处理为止。

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

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

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

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

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

也许conio.h getch()是你需要的,但请注意它是非标准的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM