- 不定様式順次アクセスファイル
- レコードの長さを含む整数が各レコードの前後に入れられます。
整数の長さは 4 バイトです (32 ビット・アプリケーションの場合)。
uwidth 実行時オプションを 32 (デフォルト) に設定する場合は 4 バイト長で、64 ビット・アプリケーション用に
uwidth を 64 に設定する場合は 8 バイト長です。
- 定様式順次アクセスファイル
- XL Fortran プログラムは、定様式順次ファイルを読み取るとき、改行文字 (X'0A') が現れるたびに
それをレコード分離文字として使用して、ファイルをいくつかのレコードに分割します。
出力時には、入出力システムは各レコードの終わりに改行文字を書き込みます。
プログラム自体も改行文字を書き込むことができますが、この方法はお勧めできません。
単一レコードが書き込まれるように見えても、読み取りまたはバックスペースされるときには複数のレコードとして
処理されるからです。
- 直接アクセス・ファイル
- XL Fortran は、長さが XL Fortran ファイルのレコード長の倍数であるファイルで直接アクセス・ファイルを
シミュレートします。
ユーザーは OPEN ステートメントに、直接アクセス・ファイルのレコード長 (RECL) を
指定する必要があります。
XL Fortran はこのレコードを使用して、それぞれのレコードを区別します。
たとえば、レコード長が 100 バイトの直接アクセス・ファイルの 3 番目の
レコードは、Linux ファイルの単一レコードの
201 番目のバイトから始まり、300 番目のバイトで終わります。
直接アクセス・ファイルのレコードの長さがレコードに書き込みたいデータの量よりも多い場合、XL Fortran は
レコードの右側をブランク (X'20') で埋め込みます。
- ストリーム・アクセス不定様式ファイル:
- 不定様式ストリーム・ファイルは、ファイル記憶単位の集まりとして表示されます。
XL Fortran では、ファイル記憶単位は 1 バイトです。
不定様式ストリーム・アクセス用に接続されたファイルには、次のような特性があります。
- 最初のファイル記憶単位の位置は 1 です。
後続のファイル記憶単位はそれぞれ、先行する記憶単位より 1 大きい位置を持ちます。
- 位置付けが可能なファイルの場合、ファイル記憶単位は、その位置の順序で読み取りまたは書き込みが行われる
必要はありません。
ファイルの作成以降にファイル記憶単位が書き込まれ、接続用の READ ステートメントが許可されている場合、
装置に接続されている間は、どのようなファイル記憶単位もファイルから読み取ることができます。
- ストリーム・アクセス定様式ファイル:
- 定様式ストリーム・アクセス用に接続されたレコード・ファイルには、次のような特性があります。
- ファイル記憶単位の一部がレコード・マーカーを表しています。
レコード・マーカーとは 改行文字 (X'0A') です。
- ファイルはストリーム構造体に加えて、レコード構造体を持ちます。
- レコード構造体は、ファイルに保管されたレコード・マーカーから推測されます。
- レコードは、XL Fortran で許されている内部制限までの長さを持つことができます
(付録 D, XL Fortran 内部制限を参照してください。)
- ファイルの終わりには、レコード・マーカーがある場合とない場合があります。
ファイルの終わりにレコード・マーカーがない場合、最終レコードは不完全ですが、空ではありません。
定様式ストリーム・アクセス用に接続されたファイルには、次のような特性があります。
- 最初のファイル記憶単位の位置は 1 です。
後続のファイル記憶単位はそれぞれ、先行する記憶単位より大きい位置を持ちます。
不定様式ストリーム・アクセスとは異なり、連続するファイル記憶単位の位置は常に連続的なものになります。
- 定様式ストリーム・アクセス用に接続されるファイルの位置は、INQUIRE ステートメントの POS= 指定子で
決定することができます。
- 位置付けが可能なファイルの場合、ファイル位置は以前に INQUIRE ステートメントの POS= 指定子で
指定された値に設定することができます。