访问传递给程序内 Fortran 可执行文件的文件名

0 fortran file

我正在尝试创建一个 Fortan 程序,当编译为可执行文件时,可以将文件作为参数(例如 progexe afile)。

我需要以这样的方式编写程序,以便传递的文件名 (afile) 在 Fortran 程序中可用。我不知道该怎么做。我在 Windows 上的 MingW 中使用 gfortran。

bra*_*ady 5

使用GET_COMMAND_ARGUMENT。它适用于 gfortran 4.6.3。使用示例:

PROGRAM Main
    IMPLICIT NONE
    CHARACTER(LEN=4096) :: FileName
    CALL GET_COMMAND_ARGUMENT(1, FileName)
    WRITE(*,*) 'Your file name is ', TRIM(FileName)
STOP
ENDPROGRAM
Run Code Online (Sandbox Code Playgroud)

编译并运行:

brady@rocky:~/tmp$ gfortran -o gcatest gcatest.f90 
brady@rocky:~/tmp$ ./gcatest myfile.txt
 Your file name is myfile.txt
brady@rocky:~/tmp$ 
Run Code Online (Sandbox Code Playgroud)