おいも貴婦人ブログ

生物系博士課程満期退学をしたAIエンジニアのブログ。

Fortranにおけるコマンドライン引数

iargc()で引数の数を数え、getargに空の文字列と引数の番号を与えると、与えた文字列に対応するコマンドライン引数を代入してくれる。不思議なのは、引数番号0にはプログラム名が入っているところで、fortranのループが1から回ることを考えれば、引数番号1にプログラム名が入っていいものなのに…。

program tmp
  implicit none
  integer :: i
  integer :: iarg
  integer :: iargc
  character(20) :: filename

  iarg=iargc()

  do i=0,iarg
     call getarg(i,filename)
     write(*,*) filename
  enddo
  
endprogram tmp