Sun Studio 12: Fortran ユーザーズガイド

4.7 新しい入出力拡張機能

ここでは、 Fortran 2003 規格草稿には含まれていませんが、f95 コンパイラで使用可能な Fortran 95 入出力処理の拡張機能について説明します。FORTRAN 77 コンパイラ、f77 の入出力拡張機能の一部は、Fortran 95 コンパイラに組み込まれました。

4.7.1 入出力エラー処理ルーチン

2 つの新機能によって、ユーザーは独自に論理ユニットの書式付き入力のエラー処理ルーチンを指定できます。書式エラーが検出されると、実行時入出力ライブラリが、エラーの原因となった入力中の文字を表すデータを付けて、指定されたユーザー定義のハンドラを呼び出します。ハンドラルーチンは、代わりの文字を提供してエラーが検出された時点から入出力処理を続けるか、デフォルトの Fortran エラー処理を実行することができます。

この新しいルーチン、SET_IO_ERR_HANDLER(3f)GET_IO_ERR_HANDLER(3f) はモジュールサブルーチンであり、これらを呼び出すルーチンの中には USE SUN_IO_HANDLERS が必要です。これらのルーチンの詳細については、マニュアルページを参照してください。

4.7.2 可変フォーマット式

FORTRAN 77 では、ある書式の整定数を、山カッコで囲まれた任意の式に置き換えることができました。

1 FORMAT(< expr > … )

nH… 編集記述子の n として、あるいは ASSIGN 文の参照する FORMAT 文、または並列化領域内の FORMAT 文では、可変フォーマット式は使えません。

この機能は f95 で可能になり、-f77 互換性オプションフラグは不要です。

4.7.3 NAMELIST 入力形式

4.7.4 書式なしバイナリ入出力

ファイルを開くときに FORM='BINARY' と指定すると、レコード長がファイルに組み込まれないことを除いて、FORM='UNFORMATTED' とほとんど同じ結果になります。このデータがなければ、1 レコードの開始点と終了点を示す方法がありません。このように、後退する場所を知らせることができないので、FORM='BINARY' ファイルに対して BACKSPACE を実行できません。'BINARY' ファイルに対して READ を実行すると、入力リストの変数を設定するために必要な量のデータが読み込まれます。

4.7.5 その他の入出力拡張機能