インテル® Fortran コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

論理ユニットへのファイルの割り当て

大部分の I/O 操作は、ディスクファイル、キーボード、またはスクリーン・ディスプレイを使用します。その他に次のようなデバイスも使用されます。

論理デバイスにリストされた事前結合ファイルを使用することにより、端末画面やキーボードにアクセスできます。

次のいずれかの方法を使用して、論理ユニットへのファイルの割り当て方法を選択することができます。

デフォルト値の使用

次の例では、PRINT 文がデフォルトで事前結合ユニット (stdout) と関連付けられています。

PRINT *,100 

次の READ 文は、デフォルトで論理ユニット 7 を fort.7 ファイルに関連付けます (FILE 指定子が省略されたため)。

OPEN (UNIT=7,STATUS='NEW') 
READ (7,100) 

OPEN 文でのファイル名の指定

OPEN 文の FILE 指定子では、通常、ファイル名のみ (filnam など) を指定するか、ディレクトリーとファイル名の両方 (/usr/proj/filnam など) を指定します。

次に例を示します。

OPEN (UNIT=7, FILE='FILNAM.DAT', STATUS='OLD')

OPEN 文の DEFAULTFILE 指定子では、通常、ディレクトリーのみ (/usr/proj/ など) を含むパス名、またはディレクトリーとファイル名の両方 (/usr/proj/testdata など) を指定します。

暗黙の OPEN

暗黙の OPEN を実行する場合、FILE および DEFAULTFILE 指定子の値は指定されず、環境変数が使用されます。したがって、暗黙の OPEN を使用する場合、もしくは、OPEN 文の FILE 指定子でファイル名を指定しない場合は、環境変数を使用してファイル名またはディレクトリーとファイル名の両方を含むパス名を指定できます。

環境変数の使用

シェルコマンドを使用して、適切な環境変数をディレクトリー (必要な場合のみ) とファイル名を示す値に設定することもできます。これによって、ユニットと外部ファイルが関連付けられます。

インテル® Fortran では、各論理 I/O ユニット番号に対する環境変数を FORTn (n は論理 I/O ユニット番号) の形式で認識します。ファイル名が OPEN 文で指定されず、対応する FORTn 環境変数がそのユニット番号に対して設定されていない場合、fort.n (n は論理ユニット番号) の形式でファイル名が生成されます。

暗黙のインテル® Fortran 論理ユニット番号

ACCEPT 文、PRINT 文、および TYPE 文を使用する場合と、READ 文および WRITE 文でユニット番号の代わりにアスタリスク (*) を使用する場合には、明示的なユニット番号は指定しません。

これらの各 Fortran 文では、暗黙の内部論理ユニット番号と環境変数が使用されます。デフォルトでは、各環境変数は標準 I/O ファイルと関連付けられている Fortran ファイル名の 1 つと関連付けられます。次の表で、これらの関係を示します。

インテル® Fortran 文

環境変数

標準 I/O ファイル名

READ (*,f) iolist

FOR_READ

stdin

READ f,iolist

FOR_READ

stdin

ACCEPT f,iolist

FOR_ACCEPT

stdin

WRITE (*,f) iolist

FOR_PRINT

stdout

PRINT f,iolist

FOR_PRINT

stdout

TYPE f,iolist

FOR_TYPE

stdout

WRITE(0,f) iolist

FORT0

stderr

READ(5,f) iolist

FORT5

stdin

WRITE(6,f) iolist

FORT6

stdout

上の表にあるインテル® Fortran の環境変数と関連付けられるファイルは変更することができます。変更方法は、他の環境変数の場合と同様で、環境変数割り当てコマンドを使用して行います。次に例を示します。

setenv FOR_READ /usr/users/smith/test.dat

上記のコマンドを実行すると、アスタリスクを使用した READ 文に対する環境変数が、指定されたディレクトリーの test.dat ファイルを参照します。

論理ユニット番号と物理ファイル間の関連付けは、実行時に行われます。ソースプログラムで指定した論理ユニット番号を変更する代わりに、実行時にこの関連付けを変更して、プログラムの要求に利用可能なリソースを対応させます。例えば、プログラムの実行前にスクリプトファイルを使用することで、適切な環境変数を設定したり、端末ユーザーがディレクトリー・パス、ファイル名、またはその両方を入力することができます。