在Fortran中按名称获取文件单位,反之亦然

时间:2014-09-24 15:12:02

标签: string io fortran

Fortran 90中是否有办法按单元号按名称和文件名获取文件单位?我知道这将是昂贵的,但我有很多文件名,我希望能够在他们创建后的子程序中重新访问..

2 个答案:

答案 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 语句。

INQUIREUNIT都是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)