リスト指示の形式設定

リスト指示形式設定を使用して、 読み取られるかまたは書き込まれるデータの長さおよび型を使用して編集を制御できます。 リスト指示形式設定を使用できるのは、順次またはストリーム・アクセスの場合のみです。

アスタリスクの形式識別子を使用して、リスト指示形式設定を指定してください。 たとえば、次のようになります。

      REAL TOTAL1, TOTAL2
      PRINT *, TOTAL1, TOTAL2

値のセパレーター

定様式レコードのリスト指示形式設定を指定した場合、 そのレコードは一連の値と値のセパレーターから構成されます。

それぞれの意味は次のとおりです。

定数またはヌルです。

値のセパレーター
コンマ、スラッシュ、またはレコード内の値の間に入れる隣接ブランクの集合です。 コンマまたはスラッシュの前後には、1 つ以上のブランクを指定できます。

ヌル
次のうちの 1 つです。

ヌル値は、対応する入力リスト項目の定義状況に影響を与えません。

リスト指示入力

リスト指示の READ ステートメント内の入力リスト項目は、 定様式レコード内の対応する値によって定義されます。 それぞれの値の構文は、対応する入力リスト項目の型と一致する必要があります。


表 20. リスト指示入力

構文
c 組み込み型のリテラル定数または区切りのない文字定数。
r * r はゼロ以外の符号なし整数のリテラル定数です。 r * は、ヌル値を r 個続けて指定するのと同じです。
r * c 定数を r 個続けて指定するのと同じです。

リスト指示入力に関する規則

c または r について kind 型付きパラメーターを指定してはなりません。

リスト指示形式設定は、ブランクが文字値内にある場合を除き、複数の連続したブランクを単一のブランクとして解釈します。

定数 c は、対応するリスト項目と同じ kind 型付きパラメーターを持ちます。

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

-qintlog コンパイラー・オプションを使用して、整数または論理型 のいずれかの入力項目の整数値または論理値を指定します。

+------------------------------End of IBM 拡張-------------------------------+

リスト指示形式設定は、構造体コンポーネントのすべてが派生型定義と同じ順序で指定されている場合と同様に、 入力リストに指定されているる派生型のオブジェクトを解釈します。 派生型の 最終コンポーネントは、ポインター FORTRAN 2003 の開始 または割り当て可能な FORTRAN 2003 の終了属性を持ってはなりません。

スラッシュは入力リストの終わりを示し、リスト指示の形式設定を終了します。 スラッシュの後の追加の入力リスト項目は、ヌル値として評価されます。

文字値の継続

以下の条件を満たす文字値は、必要な数のレコードで継続できます。

区切り文字のアポストロフィまたは引用符は、複数のレコードにまたがって文字値を継続するためには必要ありません。 区切り文字を省略した場合、文字定数は最初のブランク、コンマ、スラッシュ、またはレコードの終わりで終了します。

区切り文字のアポストロフィまたは引用符を指定しない場合、文字値内のアポストロフィと 二重引用符は重ね書きしません。

レコードの終わりとリスト指示入力

リスト指示入力で、レコードの終わりは、ブランクが文字リテラル定数または 複素数リテラル定数内にある場合を除いて、ブランク・セパレーターと同じ効果があります。 レコードの終わりは、ブランクまたはその他の文字を文字値に挿入しません。 レコードの終わりは、アポストロフィで区切られた文字順序の二重アポストロフィの間、 または引用符で区切られた文字順序の二重引用符の間にあってはなりません。

リスト指示出力

リスト指示の PRINT および WRITE ステートメントは、出力リストと同じ順序で値を出力します。 値は、各出力リスト項目のデータ型で有効な形式で書き込まれます。

リスト指示出力のタイプ


表 21. リスト指示出力

データ型 出力の形式
配列 桁の大きい順
文字 DELIM= 指定子とファイル・タイプに 応じて、文字出力を参照してください。
複素数 実数部と虚数部がコンマで区切られ、括弧で囲まれています。 E または F 編集を使用します。
整数 I 編集を使用します。
論理値 真の値の場合、T
偽の値の場合、F
実数 E または F 編集を使用します。

リスト指示文字出力

文字定数の出力は、OPEN ステートメントの DELIM= 指定子に応じて変わります。

内部ファイルDELIM= 指定子なしで オープンされたファイル、または DELIM= 指定子に値 NONE を指定してオープンされた ファイルへの文字定数出力は、以下のようになります。

注:
区切りのない文字データは、リスト指示入力を使用しても、 正しく読み取ることができない場合があります。慎重に使用してください。

二重引用符は、DELIM= 指定子に値 QUOTE を 指定してオープンされたファイルの文字定数の区切り文字になります。 値のセパレーターは、区切り文字の後に続きます。 各内部引用符は、2 つの連続する二重引用符として出力されます。

アポストロフィは、DELIM= 指定子に値 APOSTROPHE を 指定してオープンされたファイルの文字定数の区切り文字になります。 値のセパレーターは、区切り文字の後に続きます。 各内部アポストロフィは、2 つの連続するアポストロフィとして出力されます。

リスト指示出力に関する規則

各出力レコードは、そのレコードが出力されるときに紙送り制御を行えるようにするブランク文字から開始されます。

レコードの終わりは、文字でも複素数でもない定数内に使用してはなりません。

複素定数では、レコードの終わりは、定数がレコードの長さ以上である場合にのみ、 コンマと定数の虚数部との間に使用できます。 複素定数内で使用できる埋め込まれたブランクは、 コンマとレコードの終わりの間の 1 ブランク、および次のレコードの始めの 1 ブランクのみです。

ブランクは、文字でも複素数でもない定数内にあってはいけません。

リスト指示形式設定は、構造体コンポーネントのすべてが派生型定義の順序で出力リストに指定されている場合と 同様に、出力リストで指定されている構造体を解釈します。 派生型の 最終コンポーネントは、ポインター FORTRAN 2003 の開始 または割り当て可能な FORTRAN 2003 の終了属性を持ってはなりません。

ヌル値は、出力ではありません。

値のセパレーターとして指定するスラッシュは、出力ではありません。

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

書き込まれたフィールド幅 の表には、任意のデータ型と長さについて書き込まれたフィールド幅が 記載されています。 レコードのサイズは、フィールド幅の合計に各非文字フィールドを区切る 1 バイトを加えたものになります。

表 22. 書き込まれたフィールドの幅

データ型 長さ (バイト) フィールドの最大幅 (文字数) 小数 (10 進数) 精度/IEEE (10 進数)
整数 1
2
4
8
4
6
11
20
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
4
8
16
17
26
43
10
18
35
7
15
31
複素数 8
16
32
37
55
89
10
18
35
7
15
31
論理 1
2
4
8
1
1
1
1
n/a
n/a
n/a
n/a
n/a
n/a
n/a
n/a
文字 n n n/a n/a

+------------------------------End of IBM 拡張-------------------------------+

IBM Copyright 2003