レコード型

レコード型 は、ファイル内のすべてのレコード長が同じか、異なるか、あるいは他の規則を使用してレコードの終了位置や開始位置を定義しているかを示します。

シーケンシャル・ファイルでは、任意のレコード型が使用できます。相対ファイルには、固定長レコード型を使用する必要があります。

新規のファイルを作成したり、既存のファイルを開く際には、次に説明されているレコード型のいずれかを指定してください。

「レコード型の形式」も参照してください。

固定長レコード型

ファイル内のレコードは、すべて同じ長さでなければなりません

ファイルが開かれるときに、レコード長 (RECL) を指定しなければなりません。

「固定長レコード」も参照してください。

可変長レコード型

ファイル内のレコードの長さは異なってもかまいません。

レコード長情報は、各レコードの先頭と終わりに制御バイトとして格納されます。

「可変長レコード」も参照してください。

セグメント・レコード型

可変長の書式なしレコードを 1 つまたは複数個含む 1 つの論理レコードです。書式なしシーケンシャル・アクセスでのみ使用できます。

アプリケーションで、Fortran 以外の言語で記述されているプログラムやインテル・プラットフォーム用に記述されていないプログラムに対して同じファイルを使用しなければならない場合には、セグメント・レコード型を使用しないでください。

「セグメント・レコード」も参照してください。

ストリーム・レコード型

ストリーム・ファイルはレコード単位にはグループ化されておらず、レコード区切り文字を使用しません。

ストリーム・ファイルには、文字またバイナリ・データが含まれ、指定された変数の範囲で読み取りまたは書き込みが行われます。ストリーム・ファイルには、CARRIAGECONTROL= ' NONE ' を指定します。

「ストリーム・ファイル」も参照してください。

Stream_LF レコード型および Stream_CR レコード型

レコードは可変長で、ラインフィード (LF) またはキャリッジ・リターン (CR) がレコード区切り文字となります (Stream_LF ファイルの LF、Stream_CR ファイルの CR)。

Stream_LF ファイルには、埋め込み LF 文字や CARRIAGECONTROL= ' LIST ' を指定することはできません。代わりに、CARRIAGECONTROL= ' NONE ' を指定してください。Stream_CR ファイルには、埋め込み CR 文字を含めることはできません。Stream_LF レコード型は、テキストファイルの通常のレコード型です。

「Stream_LF レコードと Stream_CR レコード」も参照してください。

レコード型の選択

レコード型を選択する前に、アプリケーションで書式なしデータまたは書式付きデータのいずれを使用するかを検討してください。書式付きデータを使用する場合は、セグメント以外のレコード型を選択できます。書式なしデータを使用する場合は、Stream レコード型、Stream_CR レコード型、Stream_LF レコード型は使用しないでください。

セグメント・レコード型は、シーケンシャル・ファイルとともに書式なしシーケンシャル・アクセスに対してのみ使用できます。セグメント・レコードは、インテル® Fortran 以外の言語で記述されたプログラムにより読み取られるファイルに対しては使用できません。

Stream、Stream_CR、Stream_LF、およびセグメントの各レコード型は、シーケンシャル・ファイルでのみ使用できます。

デフォルトのレコード型 (RECORDTYPE) は、OPEN 文に対する ACCESS 指定子および FORM 指定子の値により異なります。

ファイルのレコード型は、ファイル属性としては保持されません。ファイルの作成時に指定したレコード型以外のレコード型を使用した場合、結果は不定です。

I/O レコードは、論理的に関連付けられるフィールド (データ項目) の集合であり、通常は 1 つの単位として処理されます。

ノン・アドバンシング I/O (ADVANCE 指定子) を指定しない限り、各インテル Fortran I/O 文は、最低 1 つのレコードを転送します。