gpt4 book ai didi

c - 除非使用 fflush(),否则为什么 fprintf 不直接写入文件?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:59:19 25 4
gpt4 key购买 nike

我写了一个守护进程,在文件中写入一个值。我观察到的是,当我继续在文件上写入时,文件中看不到任何内容。另一方面,如果我使用 fflush() 方法,那么字符在文件中是可见的。为什么 fflush() 有所不同?

最佳答案

默认情况下,stdio 是完全缓冲的,除非它正在写入终端,在这种情况下它是行缓冲的,或者 stderr,它根本没有缓冲。

您可以使用 setbuf() 函数禁用缓冲。

setbuf(fp, NULL);

关于c - 除非使用 fflush(),否则为什么 fprintf 不直接写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20267244/

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