回 帖 发 新 帖 刷新版面

主题:[讨论]求解答

在Fortran中,输出到文本文件中的内容要等程序运行结束后才输出吗?还是边运行边输出?

回复列表 (共5个回复)

沙发

你想什么时候输出就什么时候输出. 还没见过一种编程语言要硬运行完才输出的前面的内容的.

板凳

有些数据可能要到你close后才写入,因为缓存问题:)

3 楼

一般来说,至少在windows下的编译器,Open 时都会才用独占方式打开文件。

也就是说,在 close 以前,常规方法是不能再访问这个文件的。

我不知道你要实现什么目的。但是如果你想在程序未结束以前访问这个文件,那么需要先 close。

4 楼


你好,我以前没有注意到这个问题, 没有用close。我每迭代一步都要输出数据,照你这么说,是不是有时会出现没有输出的情况?

5 楼

楼上是说写入的内容可能暂时存放在缓冲里面,最终这些内容还是会写到文件的. 
如果你确实很希望每次输出都马上执行写操作,可以使用一些系统的I/O同步函数.
不过如果存在大量读写文件还是让他继续使用缓冲吧,提高效率是缓冲存在的意义.

我来回复

您尚未登录,请登录后再回复。点此登录或注册