删除文件数据

时间:2013-10-21 15:47:05

标签: file fortran fortran77

每次执行打开操作时,我都需要打开一个我不知道它是否存在的文件。如果它存在,我想打开它并将其中的信息存储到一个数组中,进行一些计算,清理打开的文件并将新信息写入其中。如果它不存在,我想保持开放状态以便向其写入信息。

我必须使用fortran 77。

我的代码是:

 OPEN(7, FILE = "C:/Abaqus_JOBS/mELF.txt", 
1 action = "READ", status = "UNKNOWN")

我的问题关注status = "UNKNOWN",如果文件存在,我需要清理它(删除所有数据)。怎么办呢?

由于

1 个答案:

答案 0 :(得分:4)

您可以使用inquire声明执行此操作:

logical :: file_exists
! ...

inquire(file='filename.txt',exist=file_exists)
if ( file_exists ) then
  ! Do stuff
else
  ! Do other stuff
endif

或者,既然您要删除该文件,只需使用status='replace'打开它;-) 'unknown''replace'之间的差异是'replace'status='replace'如果它不存在,则创建一个新文件。

对于FORTRAN 77,open不存在。然后,open(1234, file='filename.txt', status='unknown', iostat=ierr) if ( ierr .eq. 0) then c file opened successfully, delete close(1234, status='delete') endif c Open a new file open(1234, file='filename.txt', status='new', iostat=ierr) 语句可以是:

{{1}}