[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]文字列の前後の空白を取り除く(2023.03.05)
- [Fortran]write文で出力時に改行させない(2021.01.31)
- [Fortran]サブルーチンの引数にサブルーチンを指定する(2021.01.09)
- [GNU Fortran]ファイル(ディレクトリ)の存在を確認(2020.08.16)
- [gfortran]エラーメッセージ「Program received signal SIGSEGV: Segmentation fault - invalid memory reference.」(2020.07.20)
« [Fortran]プログラム起動時に与えられた引数(コマンドライン引数)の数を得る | トップページ | [Fortran]起動をするプログラム自身のファイル名(プログラム名)を得る »

コメント