在D中,我正在写一个文件:
File opfile = File(opdir~opname, "w");
... //first gap
opfile.writeln("somestuff");
... //second gap
opfile.writeln("otherstuff");
在这种情况下,第一个间隙中的内容需要几分钟才能运行,而第二个间隙中的内容则需要花费几个小时,我希望程序结束前将“东西”写入文件中检查。
在我看来,D正在使用缓冲输出,因此,所有输出都在第二个间隙后立即写入。在C++中,我将使用ostream::flush在第二个间隙之前手动刷新opfile。
D中的等效操作是什么?我在std.file的文档中找不到它。
最佳答案
参见 opfile.flush()
调用fflush作为文件句柄。