実行時関数:指定したコマンド行引数を返します (コマンド自身は引数番号 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 より短い場合,GETARG は buffer の右に空白を埋め込みます。引数が buffer より長い場合,GETARG は引数を切り捨てます。エラーがある場合,GETARG は buffer を空白で埋めます。
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
関連情報
例
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