我有一个包含 do-while 循环的 c++ 驱动程序。在这个循环中,我有一个类的成员函数每隔这么多迭代就将数据写入磁盘。有趣的是,该函数似乎在第 n 次调用它时写入了几乎所有的数据,但在第 (n+1) 次时写入了其余的数据。然后它继续写入一些第 (n+1) 个数据并提前停止写入,等等......
请原谅我可能在这里说得不准确,但我怀疑文件流正在存储数据并且没有足够的时间完成将其写入磁盘(每次调用函数时都会写入大量数据)。然后,它会写入上次使用时剩下的内容,并尝试继续执行它当前应该做的事情。
有没有人遇到过类似的问题?有没有办法在 fstream 完全编写完成之前阻止程序继续运行?