XL Fortran for AIX V8.1.1

ランゲージ・リファレンス


I/O リストと形式仕様の相互作用

形式指示の形式設定では、まず、形式制御が開始されます。形式制御の各処理は、形式仕様内で次に指定されている編集記述子、および I/O リスト内で次に指定されている項目 (もしあれば) によって決まります。

I/O リストに項目が 1 つ以上指定されていれば、形式仕様にも、データ編集記述子が 1 つ以上必要です。空の形式仕様 (括弧のみ) を使用できるのは、I/O リスト内に項目がない場合か、または各項目がゼロ・サイズ配列である場合に限られることに注意してください。このような場合に、アドバンス I/O が有効であると、入力レコードが 1 つスキップされるか、または文字を含まない出力レコードが 1 つ書き込まれます。非アドバンス I/O の場合には、ファイルの位置は変更されません。

形式仕様は、繰り返し仕様 (r) がある場合を除いて、左から右に向かって解釈されます。繰り返し仕様が前に付いている形式項目は、繰り返し仕様が付いていない形式仕様または編集記述子と同様の形式仕様あるいは編集記述子が r 個あるリストとして処理されます。

I/O リストで指定される 1 つの項目は、各データ編集記述子に対応します。複素数タイプの各リスト項目には、 2 個の FEENESDG、または拡張精度 Q 編集記述子の解釈が必要です。各制御編集記述子または文字ストリング編集記述子に対しては、 I/O リストで指定される項目は対応しません。形式制御は、レコードと直接に情報を交換します。

形式制御は、次のように実行されます。

  1. データ編集記述子を検出すると、形式制御は I/O リスト内に項目があればその項目を処理し、なければ I/O コマンドを終了させます。処理するリスト項目が複素数タイプの場合、いずれか 2 つの編集記述子を処理します。
  2. I/O リストにそれ以上項目がない場合、コロン編集記述子は、 形式制御を終了させます。コロンが検出されたときに、I/O リスト内にまだ項目が残っている場合はコロンは無視されます。
  3. 形式仕様の終わりに達すると、I/O リスト全体が処理されていれば、形式制御が終了し、それ以外の場合は、右括弧のすぐ手前で終わっている形式項目の始めに戻ります。後者の場合、次のような項目が適用されます。

+----------------------------------IBM 拡張----------------------------------+

読み取り操作では、レコード内の未処理文字は、次のレコードが読み取られるときにすべてスキップされます。形式指示の形式設定で処理される入力レコード内の非文字データ値のセパレーターとして、コンマを使用することができます。コンマがフィールド幅の最後より前にある場合、形式幅仕様をオーバーライドします。たとえば、(I10,F20.10,I4) という形式は、以下のレコードを正しく読み取ります。

-345, .05E-3, 12

+--------------------------------IBM 拡張の終り-------------------------------+

FORMAT ステートメントで Fortran レコードを定義する場合、使用する I/O メディアで許可される最大サイズのレコードを考慮に入れることが重要です。たとえば Fortran レコードを印刷する場合、レコードの長さはプリンターの行の長さ以下でなければなりません。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]