gpt4 book ai didi

C 控制台输出在等待输入时隐藏

转载 作者:行者123 更新时间:2023-11-30 17:10:33 24 4
gpt4 key购买 nike

您好,我正在 Eclipse 上尝试一些 C 编码,但遇到了问题:

我正在尝试打印一些文本,但是,在等待用户输入时,文本实际上无法显示,直到用户输入后。

下面是我的意思的一个例子:测试

#include <stdio.h>
#include <stdlib.h>

int main(void){

char c[5];
printf("test\n"); //PRINTING 'test' BEFORE i have to enter code
fgets(c, 5, stdin);
printf("You entered: %s\n", c);

return 0;
}

输出:

dog (this is what i typed)
test
You entered: dog

“测试”printf 不是在提示我输入代码之前出现,而是仅在我输入代码之后出现。

最佳答案

可能要打印的文本仍在缓冲区中等待(这是一种优化,对要写入的数据进行分组以使其更高效)。为了确保缓冲区中的所有内容都到达控制台,您应该像这样刷新它

fflush(stdout);

或者您可以使用不使用缓冲的函数,例如(在 Linux 上)

write()

关于C 控制台输出在等待输入时隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32818516/

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