論理 I/O ユニット

インテル® Fortran では、論理ユニット とは、プログラムとデバイス間またはプログラムとファイル間のデータ転送で使用されるチャネルを指します。各論理ユニットは、論理ユニット番号で識別されます。論理ユニット番号は、0 から最大 2,147,483,647 (2**31-1) までの負ではない整数からなります。次に例を示します。

READ (2,100) I,X,Y

この READ 文では、論理ユニット 2 に対応するデバイスまたはファイルから、100 のラベルが付いた FORMAT 文で指定された形式で、データが入力されます。ファイルを開くときに、UNIT 指定子を使用してユニット番号を指定します。

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

OPEN 文で指定した論理ユニット番号を、その開いたファイルに対して実行する他の I/O 文 (READ、WRITEなど) で使用します。

OPEN 文は、ユニット番号と外部ファイルを結合し、OPEN 文指定子を使用することで、ファイル属性およびランタイム・オプションを明示的に指定できます (内部ファイル以外のすべてのファイルは、外部ファイルと呼ばれます)。

特定のユニット番号は、標準デバイスに事前に結合されます。ユニット番号 5 は stdin に、ユニット 6 は stdout に、ユニット 0 は stderr に、それぞれ結合されます。ユニット 5 および 6 が OPEN 文によって明示的に開かれていないのに、レコード I/O 文 (READ または WRITE など) で使用する場合は、実行時に、インテル Fortran は暗黙的にユニット 5、6、および 0 を開き、各ユニット番号をオペレーティング・システムの標準 I/O ファイルに結合します (対応する FORTn 環境変数が設定されていない場合)。