Arguments en ligne de commande en Fortran

Pour mettre des arguments d'entrées en compilant un programme fortran il existe la fonction intrinsèque GETARG. Un exemple minimaliste de programme fortran (test_getarg.f90):

program test_getarg

integer :: i 
character(len=32) :: arg

do i = 1, iargc() 
  call getarg(i, arg) 
  write (6,*) arg 
end do

end program

Pour compiler ce code: gfortran test_getarg.f90 -o test_getarg. L'execution du code avec les arguments arg1 arg2 arg2 HelloWorld:

test_getarg arg1 arg2 arg2 HelloWorld

donne alors en sortie:

 arg1                            
 arg2                            
 arg2                            
 HelloWorld

Note: getarg n'accepte que des données de type character. Cependant en fortran il est possible ensuite de convertir ces arguments de type character en type integer. Exemple:

program test_getarg

integer :: i,j
character(len=32) :: arg

do i = 1, iargc() 
  call getarg(i, arg) 
  read( arg, '(i2)' ) j ! Convert character to INTEGER
  write (6,*) j , j + 10  
end do

end program

Recherches associées