GETARG

実行時関数:指定したコマンド行引数を返します (コマンド自身は引数番号 0)。

モジュールUSE DFLIB

形式

CALL GETARG (n, buffer [, status])

n
(入力) INTEGER(2)。取り出すコマンド行引数の位置。コマンド自身は引数番号 0 です。

buffer
(出力) CHARACTER*(*)。取り出されたコマンド引数。

status
(省略可能,出力) INTEGER(2)。指定された場合,完了状態が返されます。エラーがない場合,status には切り捨てや空白の詰め込み前の取り出されたコマンド行引数の文字数が返されます。(つまり,status はコマンド行引数の元の文字数です。) エラーの場合,-1 が返されます。エラーには,0 よりも小さい引数位置や NARGS が返す値よりも大きい引数位置を指定した場合も含まれます。

GETARG は,2 個 または 3 個の引数で使うことができます。\DF98\INCLUDE サブディレクトリのモジュール DFLIB.F90 (USE DFLIB 文を含むことによって) を使う場合,2 個 または 3 個の引数を持つ GETARG を混在して呼び出すことができます。DFLIB.F90 を使わない場合,2 個または 3 個の引数のどちらかで GETARG を呼び出すことはできますが,副プログラム内ではどちらか 1 つの呼び出ししか使えません。

GETARG は,コマンド行が入力された順番でコマンド行引数を返します。大文字小文字の変換は行われません。

コマンド行引数が buffer より短い場合,GETARGbuffer の右に空白を埋め込みます。引数が buffer より長い場合,GETARG は引数を切り捨てます。エラーがある場合,GETARGbuffer を空白で埋めます。

ANOVA -g -c -a のコマンド行が呼び出され,buffer が少なくとも 5 個の文字長を持つと仮定します。以下の GETARG 文は,対応する引数を buffer に返します。

buffer に返される文字列 status に返される長さ
CALL GETARG (0, buffer, status) ANOVA 5
CALL GETARG (1, buffer) -g 未定義
CALL GETARG (2, buffer, status) -c 2
CALL GETARG (3, buffer) -a 未定義
CALL GETARG (4, buffer, status) 全て空白 -1

互換性

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

関連情報

IARGC, NARGS

	USE DFLIB
	INTEGER(2) result
	result = RUNQQ('prog', '-c -r')
	END
	! PROG.F90
	USE DFLIB
	INTEGER(2) n1, n2, status
	CHARACTER(80) buf
	n1 = 1
	n2 = 2
	CALL GETARG(n1, buf, status)
	WRITE(*,*) buf
	CALL GETARG(n2, buf )
	WRITE (*,*) buf
	END