1.5 ファイルの構造

ファイルの形式も機種によりかなり異なるが, FIOLIB は固定長レコードのファイルに限って 異機種間のデータ転送を可能にするためのユーティリティーである.

FORTRAN規格におけるファイルの属性は基本的に, 書式のありなし(FORMATTED/UNFORMATTED)と アクセス方法(SEQUENTIAL/DIRECT) の組み合せで決る. 書式のありなしは, 例えばWRITE文を実行するときに, 内部表現を文字に変換するか, 内部表現をそのまま出力するかということを 指定するものであり, いわば「ファイルの中身」を指定するものである. 一方, アクセス方法の指定は文字どおり解釈すれば, 順番に読み書きするか, ランダムに読み書きするかという指定であるが, 実際には「アクセス方法」よりも, そのアクセス方法を実現する「ファイルの構造」の方が問題となる場合が多い.

規格上, DIRECT ファイルではレコード長を指定するRECL指定子を書かなければならず, SEQUENTIAL ファイルの場合には, これを書いてはいけない. つまり, 「アクセス方法」の指定は, DIRECT ファイルは固定長レコードのファイルであり, SEQUENTIAL ファイルは可変長レコードのファイルであるという 「ファイル構造」を暗黙のうちに指定することになる.

FORTRANプログラム上の論理的なレコードが, 実際に記録媒体の上でどのように記録されるかということに関しても, 大きく分けてメインフレーム系(IBM系)とUNIX系の2種類あり, それぞれファイルの扱い方がかなり異なる.