【发布时间】:2014-03-11 02:04:56
【问题描述】:
我在写入后刷新ofstream,需要更新到实际文件并启动一个外部程序来打开它,我需要保持ofstream打开而不关闭它。我做到了:
ofstream f("..", std::ofstream::out | std::ofstream::app | std::ofstream::trunc);
f << data << std::endl;
f.flush();
但是当外部程序执行时该文件甚至不存在。同样的问题here。如何阻止程序直到文件实际存在于文件系统中?
【问题讨论】:
-
也许这会有所帮助:cplusplus.com/forum/general/7343
-
也许问题出在其他地方?我认为文件应该存在并且可以读取,即使它们还没有写入磁盘并且使用 f.flush() 就足够了。
-
关闭和睡眠是否有效?