インテル® Fortran コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
大部分の I/O 操作は、ディスクファイル、キーボード、またはスクリーン・ディスプレイを使用します。その他に次のようなデバイスも使用されます。
ソケットからの読み出し、またはソケットへの書き込みができます。ただし、ソケットは USEROPEN ルーチン (通常は C 言語で記述される) を使用して開く必要があります。
空のパイプに対して READ を発行すると、読み出しおよび書き込みを操作するために開かれたパイプがブロックされます (データが使用可能になるまで待機します)。
空のパイプに対して READ を発行すると、読み出しのみを操作するために開かれたパイプが EOF を返します。
論理デバイスにリストされた事前結合ファイルを使用することにより、端末画面やキーボードにアクセスできます。
次のいずれかの方法を使用して、論理ユニットへのファイルの割り当て方法を選択することができます。
事前結合ユニットなどのデフォルト値を使用する。
OPEN 文でファイル名を指定する (必要な場合は、ディレクトリーも指定する)。
環境変数を使用する。
次の例では、PRINT 文がデフォルトで事前結合ユニット (stdout) と関連付けられています。
PRINT *,100
次の READ 文は、デフォルトで論理ユニット 7 を fort.7 ファイルに関連付けます (FILE 指定子が省略されたため)。
OPEN (UNIT=7,STATUS='NEW') READ (7,100)
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 は論理ユニット番号) の形式でファイル名が生成されます。
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 ファイルを参照します。
論理ユニット番号と物理ファイル間の関連付けは、実行時に行われます。ソースプログラムで指定した論理ユニット番号を変更する代わりに、実行時にこの関連付けを変更して、プログラムの要求に利用可能なリソースを対応させます。例えば、プログラムの実行前にスクリプトファイルを使用することで、適切な環境変数を設定したり、端末ユーザーがディレクトリー・パス、ファイル名、またはその両方を入力することができます。