我正在尝试从命令行向Fortran可执行文件传递参数。在C中实现此目的的示例程序是(取自here):
#include <stdio.h>
int main (int argc, char *argv[])
{
int count;
printf ("This program was called with \"%s\".\n",argv[0]);
if (argc > 1)
{
for (count = 1; count < argc; count++)
{
printf("argv[%d] = %s\n", count, argv[count]);
}
}
else
{
printf("The command had no other arguments.\n");
}
return 0;
}
该程序的输出是:
This program was called with "./fubar".
argv[1] = a
argv[2] = b
argv[3] = c
我现在的问题是,我如何在Fortran中编写此程序(以及此功能)?我用google搜索过,似乎只有Fortran 2003具有将参数传递给可执行文件的功能(这是正确的)吗?
答案 0 :(得分:1)
为了将来参考,正如@High Performance Mark在上面指出的那样,在Fortran 2003中很容易做到这一点。下面的示例代码取自here并显示如何:
PROGRAM test_get_command_argument
INTEGER :: i
CHARACTER(len=32) :: arg
i = 0
DO
CALL get_command_argument(i, arg)
IF (LEN_TRIM(arg) == 0) EXIT
WRITE (*,*) TRIM(arg)
i = i+1
END DO
END PROGRAM