gpt4 book ai didi

c++ - fprintf 函数不工作,但它返回正数

转载 作者:太空宇宙 更新时间:2023-11-04 07:24:09 25 4
gpt4 key购买 nike

我按以下方式使用 fprintf。一切似乎都正常,但 fprintf 根本没有打印到我的文件!

fprintf(pFile, "%s\n", "print");

奇怪的是 fprintf 返回 OK。它在上面的代码中返回 6,但不打印到文件!

文件创建成功但为空

将其更改为 printf 正在打印并且 OK 也是。

最佳答案

fprintf 和其他 stdio 输出函数是缓冲的,这意味着输出首先存储在内存中,直到后来才真正打印出来。当使用标准输出打印到屏幕时,每个新行都会刷新缓冲区,因此使用 printf 您会立即看到输出,但是当打印到文件时,缓冲区不会被刷新,直到您写入(例如)4096 字节。如果出于某种原因需要输出快速出现在文件中,您可以添加 fflush(pFile); 来刷新缓冲区。

当调用fclose,或者通过正确退出程序隐式关闭文件时,缓冲区也会被刷新,但是如果程序在没有关闭文件的情况下继续运行,或者如果它崩溃,你将需要fflush 查看文件的输出。

关于c++ - fprintf 函数不工作,但它返回正数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19587210/

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