在看门狗超时之前将文件刷新到磁盘

时间:2013-10-16 14:25:04

标签: c++ flush ofstream watchdog

我使用ofstream每秒写一个文件。但是看门狗定时器可能会触发,导致整个系统重置。当发生这种情况时,我丢失了我写入文件的所有数据。我尝试使用std:flush,使用myfile.rdbuf() - > pubsetbuf(0,0)禁用缓冲区,并在myfile.close()之前尝试myfile.flush()。似乎没什么用。有什么建议?这是用C ++编写的。

1 个答案:

答案 0 :(得分:0)

似乎不可能使用与ofstream特定的任何内容。所以我做的就是在关闭文件后调用文件上的fsync(),这解决了这个问题。