从命令行将参数传递给可执行文件

我正在尝试从命令行向Fortran可执行文件传递参数。 在C中实现此目的的示例程序(取自此处 ):

#include  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中编写此程序(以及此function)? 我用google搜索过,似乎只有Fortran 2003具有将参数传递给可执行文件的function(这是正确的)吗?

为了将来参考,正如@High Performance Mark在上面指出的那样,在Fortran 2003中很容易做到这一点。下面的示例代码取自这里,并显示如何:

  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