问题描述
我正在尝试从命令行将参数传递给Fortran可执行文件. (在此处摘自)的示例程序是用C实现的. :
I'm trying to pass arguments to a Fortran executable from the command line. A sample program that achieves this in C is (taken from 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中编写该程序(以及此功能)?我已经用谷歌搜索了,似乎只有Fortran 2003才具有将参数传递给可执行文件的功能(这是正确的)吗?
My question now is, how would I code this program (and therefore this functionality) in Fortran? I have googled this, and it seems that only Fortran 2003 has the functionality of passing arguments to executables (is this correct)?
推荐答案
供将来参考,正如@High Performance Mark指出的那样,在Fortran 2003中很容易做到这一点.下面的示例代码摘自此处,并说明如何:
For future reference, as @High Performance Mark points out above, it is quite easy to do this in Fortran 2003. The below example code is taken from here and shows how:
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
这篇关于从命令行将参数传递给可执行文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!