File 删除文件的数据
每次执行打开操作时,我都需要打开一个不知道是否存在的文件。如果它存在,我想打开它并将其中的信息存储到一个数组中,进行一些计算,清理打开的文件并将新信息写入其中。如果它不存在,我想让它打开,以便向它写入信息 我必须使用fortran 77 我的代码是:File 删除文件的数据,file,fortran,fortran77,File,Fortran,Fortran77,每次执行打开操作时,我都需要打开一个不知道是否存在的文件。如果它存在,我想打开它并将其中的信息存储到一个数组中,进行一些计算,清理打开的文件并将新信息写入其中。如果它不存在,我想让它打开,以便向它写入信息 我必须使用fortran 77 我的代码是: OPEN(7, FILE = "C:/Abaqus_JOBS/mELF.txt", 1 action = "READ", status = "UNKNOWN") 我的问题与status=“UNKNOWN”有关,如果文件存在,我需要清理它(删除
OPEN(7, FILE = "C:/Abaqus_JOBS/mELF.txt",
1 action = "READ", status = "UNKNOWN")
我的问题与status=“UNKNOWN”
有关,如果文件存在,我需要清理它(删除所有数据)。你怎么能做到这一点
谢谢您可以使用
查询
语句:
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'
将创建一个新文件,如果它不存在
对于FORTRAN 77,status='replace'
不存在。然后,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)
谢谢我认为“状态=未知”也会起作用。我的问题是如何删除文件中的所有数据,以便向其中写入新信息?感谢您,阿加尼认为fortran 77中没有可用的
status='replace'
。我错了吗?同样感谢,当执行open
语句时,status=replace
将删除(文件内容)。啊,我明白了。。那么,您应该使用'iostat=ierr'
。如果无法打开文件,则ierr
将为非零!