RECL 指定子は,直接探査として接続されたファイル中の個々の記録長,または順番探査として接続されたファイル中の記録の最大長を指定します。これは次の形式を取ります。
RECL = rl
rl
ファイル中の記録長を示す正の数値式。必要ならば,値は使用される前に整数データ型に変換されます。
ファイルが書式付きデータ転送として接続されている場合,その値はバイト数 (文字数) で表現されなくてはなりません。それ以外の場合,値は 4 バイト単位 (ロングワード) で表現されます。
ファイルが書式なしデータ転送として接続されている場合,コンパイラ・オプション /assume:byterecl が指定されていれば,値をバイト単位で表現することができます。
セグメント化された記録の場合を除き,rl の値は,記録データのみの長さであり,制御情報の空間は含まれません。
指定された長さは,接続されているファイル中の記録の形式に応じて,以下のように解釈されます。
セグメント化された記録の場合,RECL は任意のセグメントの最大長を指定します (制御情報のための 4 バイトを含む)。
INQUIRE 文で RECL 指定子を使うと,ファイルを開く前に記録長を得ることができます。
可変長記録の場合,RECL は任意の記録の最大長を指定します。
固定長ファイルを,そのファイルの作成に使用されたのとは異なる記録長を使って読み取った場合,予期しない結果が生じることがあります。
rl の最大長は,次表に示すように,記録形式と CARRIAGECONTROL 指定子の設定に依存します。
Tru64 UNIX,Linux,および Windows システム上の最大記録長 (RECL)
記録形式 | CARRIAGECONTROL | 書式付き (バイト数) |
---|---|---|
固定長 | 'NONE' | 2147483647 (2**31-1) 1 |
可変長 | 'NONE' | 2147483640 (2**31-8) |
セグメント化 | 'NONE' | 32764 (2**15-4) |
ストリーム | 'NONE' | 2147483647 (2**31-1) |
ストリーム CR | 'LIST' | 2147483647 (2**31-1) |
'FORTRAN' | 2147483646 (2**31-2) | |
ストリーム LF | 'LIST' | 2147483647 (2**31-1) 2 |
'FORTRAN' | 2147483646 (2**31-2) | |
1 /vms コンパイラ・オプションを使用している場合には 1 を引きます。
2 U*X のみ |
基本値は,次表に示すように,RECORDTYPE 指定子の設定に依存します。
Tru64 UNIX,Linux,および Windows システム上の基本記録長 (RECL)
RECORDTYPE | RECL 値 |
---|---|
'FIXED' | なし。値は明示的に指定する必要があります。 |
その他のすべての設定 | 書式付き記録の場合は 132 バイト。書式なし記録の場合は 510 ロングワード。 |