我需要在fortran中创建一个文件,然后读取文件中的数据。
call execute_command_line('pwd > workdir.dat')
open(unit=10, file='workdir.dat', status='replace', IOSTAT=open_stat)
if (open_stat /= 0) stop "Reading workdir.dat file Error"
read(10,"(A)") workdir
close(10)
但是,当我尝试打开它时workdir.dat
为空,给我严重的错误。系统似乎只在程序结束时将workdir.dat
的内容刷新到文件中。如何确保workdir.dat
之前可以使用open
?
答案 0 :(得分:1)
open
语句包含status=replace
子句,它实际上告诉运行时系统丢弃文件的内容并重新写入。确切地说,语言标准在status
语句中声明了open
说明符:
如果指定了REPLACE且文件存在,则删除该文件, 将创建一个具有相同名称的新文件,并将状态更改为 OLD。
将条款更改为status=old
,这是此案例的正确规范。