大部分の 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 (UNIT=7, FILE='FILNAM.DAT', STATUS='OLD')
OPEN 文の FILE 指定子では、通常、ファイル名のみ (testdata など) を指定するか、ディレクトリとファイル名の両方 (/usr/proj/testdata など) を指定します。
OPEN 文の DEFAULTFILE 指定子では、通常、ディレクトリのみ (/usr/proj/ など) を含むパス名、またはディレクトリとファイル名の両方 (/usr/proj/testdata など) を指定します。
暗黙の 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 文 |
-vms が指定された場合の環境変数 |
-vms が指定されていない場合の環境変数 |
標準 I/O ファイル名 |
READ (*,f) iolist |
FOR_READ |
FORT5 |
stdin |
READ f,iolist |
FOR_READ |
FORT5 |
stdin |
ACCEPT f,iolist |
FOR_ACCEPT |
FORT5 |
stdin |
WRITE (*,f) iolist |
FOR_PRINT |
FORT6 |
stdout |
PRINT f,iolist |
FOR_PRINT |
FORT6 |
stdout |
TYPE f,iolist |
FOR_TYPE |
FORT6 |
stdout |
上の表にあるインテル Fortran の環境変数と関連付けられるファイルは変更することができます。変更方法は、他の環境変数の場合と同様で、環境変数割り当てコマンドを使用して行います。次に例を示します。
setenv FOR_READ /usr/users/smith/test.dat
上記のコマンドを実行すると、アスタリスクを使用した READ 文に対する環境変数が、ディレクトリ /usr/users/smith のファイル test.dat を参照します。