Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 从命令行向可执行文件传递参数_C_Fortran_Argv_Argc - Fatal编程技术网

C 从命令行向可执行文件传递参数

C 从命令行向可执行文件传递参数,c,fortran,argv,argc,C,Fortran,Argv,Argc,我试图从命令行向Fortran可执行文件传递参数。在C中实现这一点的示例程序如下(摘自): 我现在的问题是,我将如何用Fortran编写这个程序(以及这个功能)?我在谷歌上搜索过,似乎只有Fortran 2003具有将参数传递给可执行文件的功能(这是否正确)?供将来参考,正如上面@High Performance Mark所指出的,在Fortran 2003中这样做很容易。下面的示例代码取自并显示了如何: PROGRAM test_get_command_argument

我试图从命令行向Fortran可执行文件传递参数。在C中实现这一点的示例程序如下(摘自):


我现在的问题是,我将如何用Fortran编写这个程序(以及这个功能)?我在谷歌上搜索过,似乎只有Fortran 2003具有将参数传递给可执行文件的功能(这是否正确)?

供将来参考,正如上面@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

当然,对命令行参数的访问仅在Fortran 2003中标准化,但所有广泛使用的编译器都实现了该功能。你写得好像是2004年左右。请尝试搜索“fortran获取命令行参数”,谢谢。我现在正在学习Fortran,所以当我搜索这些东西时,有时判断结果并不容易。你的建议很有帮助!要使用的清理器..命令\参数\计数()。为什么在世界上,标准委员会不只是采用事实上的标准getarg(),iargc(),这让我很难受..抱歉,如果这太简单了。。。我的意思是最好使用arg计数作为循环限制,而不是使用if()退出construct@george,不用担心!这就是我从实践者那里学习的方式,即你:-)!谢谢你指出这一点。
This program was called with "./fubar".
argv[1] = a
argv[2] = b
argv[3] = c
      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