« [Fortran]プログラム起動時に与えられた引数(コマンドライン引数)の数を得る | トップページ | [Fortran]起動をするプログラム自身のファイル名(プログラム名)を得る »

2014年10月 3日 (金)

[Fortran]プログラム起動時に与えられた引数(コマンドライン引数)を得る

サブルーチンget_command_argumentを使えばよい。このサブルーチンを使うことで文字変数に代入することができる。

なお、command_argument_countが組み込み関数である一方で、こちらはサブルーチンであることに注意。

以下のプログラムは、プログラム起動時に与えられた引数を順番に表示するプログラム。do文で引数の数だけ繰り返し出力していることから、引数の数を得る関数command_argument_countを最初に使用している。

program argget
    implicit none
    integer :: i, len
    character(len = 16) :: str
    len = command_argument_count()
    if (len > 0) then
        do i = 1, len
            call get_command_argument(i, str)
            print *, str
        end do
    end if
end program argget

以下はWindows PowerShellにおける実行例。

PS > .\argget.exe
PS > .\argget.exe 1
1
PS > .\argget.exe 1 A
1
A
PS > .\argget.exe 1 A BC
1
A
BC

このサブルーチンはFortran2003で採用された機能であり、2003もしくは2003以降のFortranで使うことができる。現在のgfortranでは採用された機能のため問題なく使用することができる。

« [Fortran]プログラム起動時に与えられた引数(コマンドライン引数)の数を得る | トップページ | [Fortran]起動をするプログラム自身のファイル名(プログラム名)を得る »

Fortran」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« [Fortran]プログラム起動時に与えられた引数(コマンドライン引数)の数を得る | トップページ | [Fortran]起動をするプログラム自身のファイル名(プログラム名)を得る »

無料ブログはココログ

■■

■■■