访问在其程序中传递给 Fortran 可执行文件的文件名

Posted

技术标签:

【中文标题】访问在其程序中传递给 Fortran 可执行文件的文件名【英文标题】:Accesing filename passed to Fortran executable within its program 【发布时间】:2012-10-24 01:06:51 【问题描述】:

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

我需要对程序进行编码,使传递的文件名 (afile) 在 Fortran 程序中可用。我无法弄清楚如何做到这一点。我在 windows 上的 MingW 中使用 gfortran。

【问题讨论】:

【参考方案1】:

使用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$ 

【讨论】:

以上是关于访问在其程序中传递给 Fortran 可执行文件的文件名的主要内容,如果未能解决你的问题,请参考以下文章

java传参调用fortran的exe可执行文件

Matlab调用可执行程序传递参数以及接收输出

Matlab调用可执行程序传递参数以及接收输出

将 C++ 字符数组传递给 Fortran

将 C++ 字符数组传递给 Fortran

将套接字传递给新的 AppDomain