我正在尝试创建一个 Fortan 程序,该程序在编译为可执行文件时可以将文件作为参数(例如 progexe afile)。
我需要对程序进行编码,使传递的文件名(afile)在 Fortran 程序中可用。我无法弄清楚如何做到这一点。我在 Windows 上的 MingW 中使用 gfortran。
使用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
编译并运行:
brady@rocky:~/tmp$ gfortran -o gcatest gcatest.f90
brady@rocky:~/tmp$ ./gcatest myfile.txt
Your file name is myfile.txt
brady@rocky:~/tmp$