Fortran 90中是否有办法按单元号按名称和文件名获取文件单位?我知道这将是昂贵的,但我有很多文件名,我希望能够在他们创建后的子程序中重新访问..
答案 0 :(得分:4)
像
这样的命令inquire(unit=12, opened=openedq, file=name_of_file)
将连接到单元12的文件的名称返回给字符变量name_of_file
。如果没有文件连接到该单元opened
将返回false
,否则true
。该命令也采用了各种其他可选参数。
要获取已附加文件的单元号,请使用前面的变体,如下所示
inquire(file='my_favourite_file.nuts', number=unknown_unit_number, opened=openedq)
对编译器文档的引用应解释inquire
支持的所有变体。
答案 1 :(得分:0)
为了获取文件信息,您必须使用DATE STARTTIME ENDTIME
2019-06-12 2019-06-12 01:52:46 2019-06-12 03:52:46
语句。
INQUIRE
和UNIT
都是FILE
语句的有效 input 选项,但是我不确定它们是否可以用于输出(例如, gfortran 7.4.0会抱怨INQUIRE
)。
因此,要从单元号获取文件名信息,请使用INQUIRE statement at (1) cannot contain both FILE and UNIT specifiers
,例如:
NAME
要获取单元号信息,上一个示例有效:
inquire(unit=12, opened=openedq, NAME=name_of_file)