可搬用ライブラリーは,ファイル・プロパティを変更し,文字とバッファの読み書きを行い,ファイル内のオフセット位置を変更するルーチンを含んでいます。これらの入出力ルーチンは,次の点に注意した上で,READ や WRITE などの標準 Fortran 入出力文とともに,同じファイルに対して使用することができます。
直接ファイルで使用する場合,FSEEK,GETC,または PUTC 操作の後に,記録番号は次の記録全体の番号となります。その装置に対するその後の通常の Fortran I/O は,次の記録全体に対して行われます。たとえば,記録長が 10 のファイルの絶対位置1に探索を行うと,問合せから返される NEXTREC は 2 になります。絶対位置 10 に対して探索を行った場合にも,NEXTREC はやはり 2 を返します。
CARRIAGECONTROL='FORTRAN' (基本設定) の装置では,PUTC と FPUTC の文字が欄 1 に現れる場合,復帰制御文字として扱われます。
書式付き順番装置では,復帰と改行のエスケープ列を表す C 言語形式の文字列 "\n"c は,単なる改行または CHAR(10) ではなく,CHAR(13) (復帰) と CHAR(10) (改行) として書き出されます。入力時には,13 と 10 の並びは単に 10 として返されます。ICHAR('\n'c) で示される ASCII 値が 10 である文字列 "\n"c の長さは 1 文字です。
直接ファイルでは,読み書きはそのままの形式で行われます。記録間の区切り子は,読み取ることも,上書きすることもできます。このため,ファイルを直接ファイルとして使い続ける場合,慎重に操作を行ってください。
これらのルーチンを使用した結果として I/O エラーが生じると,Visual Fortran 実行時エラーが発生します。
次表に入出力ルーチンを示します。
可搬用ルーチン | 説明 |
ACCESS | モードに従ったファイルの参照が可能かどうかを検証します。 |
CHMOD | ファイル属性を変更します。 |
FGETC | 外部装置から文字を読み取ります。 |
FLUSH | 外部装置に対するバッファをそれに関連付けられたファイルにフラッシュします。 |
FPUTC | 外部装置に文字を書き出します。 |
FSEEK | 外部装置上のファイルの位置を変更します。 |
FTELL | ファイルの先頭からのバイト単位のオフセットを返します。 |
GETC | 装置 5 から文字を読み取ります。 |
PUTC | 装置 6 に文字を書き出します。 |
すべてのパス名は,ドライブ指定,斜線,またはバックスラッシュを含むことができます。
一部の可搬用ファイル I/O ルーチンについては,Fortran 95/90 標準に等価なルーチンがあります。ACCESS 関数は,名前で指定されたファイルのモードに従った参照が可能かどうかを検証します。これはファイルに対する読み込み権,書き込み権,および実行権があるかどうかを検証し,ファイルが存在するかどうかを検証します。この関数は,プログラムの OPEN 文で指定されたファイル属性でなく,ディスク上に存在するファイル属性を扱います。
ACCESS の代わりに,INQUIRE 文で ACTION パラメタを使うことで,同じ情報を得ることができます。ACCESS 関数は,FAT ファイルの読み込み権についてはつねに 0 を返します。つまり,すべてのファイルに対して読み込み権があるということです。