Передача аргументов в исполняемый файл из командной строки

Я пытаюсь передать аргументы исполняемому файлу Фортрана из командной строки. Пример программы, которая достигает этого в C (взято отсюда):

#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 имеет функцию передачи аргументов исполняемым файлам (это правильно)?

1 ответ

Для дальнейшего использования, как указано выше @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
Другие вопросы по тегам