可搬用関数:コマンド行でコマンドが入力されたのと同じようにシェルにコマンドを送ります。
モジュール:USE DFPORT
形式
result = SYSTEM ( string )
string
(入力) CHARACTER*(*)。オペレーティング・システムのコマンド。
結果
結果の型は INTEGER(4) です。結果は,シェル・コマンドの終了コードです。結果が -1 の場合,IERRNO を使ってエラーを取り出します。エラーは,以下の内の 1 つです。
E2BIG - 引数並びが長すぎます。
ENOENT - コマンド・インタプリタが見つかりませんでした。
ENOEXEC - コマンド・インタプリタ・ファイルが不正な書式で実行できません。
ENOMEM - コマンドを実行するためのシステム資源が不足しています。
WNT システムでは,呼び出したプロセスはコマンドが終了するまで待機します。W9* システムでは,呼び出したプロセスは現在のところすべての場合で待機しません。しかしながら,将来の実装で変更されるかもしれません。互換性と一貫した動作を保証するために,Fortran プログラムで WIN32 API CreateProcess() を使って,実行形式ファイルを直接呼び出すようにします。
SYSTEM 関数で実行されるコマンドは,別のシェルで実行されます。現在の作業ディレクトリや環境変数のような SYSTEM 関数で設定されている基本設定は,呼び出したプログラムの環境に影響を及ぼしません。
SYSTEM 関数に対するコマンド行文字の上限は,オペレーティング・システムのコマンド・インタプリタが許容するのと同じ上限です。
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
関連情報
例
USE DFPORT INTEGER(4) I, errnum I = SYSTEM("dir > file.lst") If (I .eq. -1) then errnum = ierrno( ) print *, 'Error ', errnum end if END