gpt4 book ai didi

代码块上的 C : how can I send user input without pressing "enter"?

转载 作者:行者123 更新时间:2023-11-30 19:37:59 25 4
gpt4 key购买 nike

我正在使用 CodeBlock 在 Windows 上尝试“C 编程语言”中的示例,但我不知道如何在无需按 Enter 键的情况下获取用户输入。该程序使用 getchar() 计算输入中的行数,因此当我运行它时,“enter”仅用作\n 并且不允许我发送输入。有其他方法吗?

编辑问题出在编译器上。研究了一段时间才明白

最佳答案

这不是C编程语言的问题。它与您用来与 C 程序交互的终端有更多关系。

默认情况下,大多数终端都会缓冲您键入的输入,并且仅在您按 Enter 键完成该行时才将其发送到程序。这使得您可以在输入错误发送到 C 程序之前使用退格键来纠正它们。

如果您不创建交互式程序,那么如果您将程序输出重定向为从文件而不是从终端读取,则 getchar() 将不必等待。毕竟,输入文件从一开始就在那里。

./myprogram.exe < myinputfile.txt

如果您想创建一个交互式程序,那么您可以做的最简单的事情就是接受输入一次一整行。这是在终端上输入的用户所期望的。

如果您希望应用程序立即响应按键,那么您将需要使用标准 C 库之外的东西。例如,在 Linux 中,您可以使用 ncurses 创建可以立即对按键(包括箭头键等)使用react的终端应用程序。

关于代码块上的 C : how can I send user input without pressing "enter"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38925876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com