当想知道有关外部文件的连接时,就有inquire声明.这有两种形式:按文件查询; 单位询问.
汤姆的答案显示单位询问.这将测试单元3是否连接到任何文件.然后,可以继续使用name=和named=说明符来询问连接文件的名称.1
通过文件查询允许一个人问:是一个给定文件连接到任何单元,如果是这样,到哪个单元?
inquire(file=filename, number=unit)
Run Code Online (Sandbox Code Playgroud)
如果文件未连接unit则将是-1,否则unit将对应于连接到文件的单元.
或者,根据您要对open语句执行的操作,对于open已连接的文件,它不一定是错误的.
[1] name=如果文件没有名称,则说明符中的变量将变为未定义.在未定义时,针对所需文件名测试此变量是不好的.该named=说明符允许这种情况的检测.
您可以使用inquire:
logical itsopen
inquire(unit=3, opened=itsopen)
if ( itsopen ) then
write(*,*) 'Its open already'
else
open(3,'myfile.txt')
end if
Run Code Online (Sandbox Code Playgroud)