写入文件的一种方法是使用fprintf()
。但是,此功能不会将结果写入文件立即。它似乎在程序终止或结束时立即写入所有内容。如何使fprintf()立即写入
我的问题如下:我有一个程序需要很长时间才能运行(大数据集4-5小时)。在此期间,我希望看到中间结果,以便我不必等待5个小时。我的大学使用Sun Grid Engine
提交作业。正如你们大多数人所知道的,你必须等到你的工作完成后才能看到你的最终结果。因此,我希望能够将中间结果写入文本文件,并在程序正在处理时查看更新结果(同样,如果我正在使用printf
)。
如何修改fprintf()
将任何我想要立即写入目标文件?
使用'fflush'功能 –
@ M.M之前没有见过这个功能。非常感谢你 – Medo
另请参见[C中自动刷新标准输出缓冲区的规则是什么?](https://stackoverflow.com/q/39536212/2410359)。 – chux