データ編集記述子

データ編集記述子の例において、出力桁内の小文字 b はその位置にブランクが表示される ことを示します。

A (文字) 編集

目的

A 編集記述子は、文字値の編集を指示します。 これは、文字型または他の任意の型の入出力リスト項目に対応します。 転送および変換されるすべての文字の kind 型付きパラメーターは、対応するリスト項目によって暗黙的に示されます。

構文

規則

入力の場合、w が 入力リスト項目の長さ (len と呼びます) 以上であれば、 入力フィールドの右端の len 個の文字が取られます。 指定したフィールド幅が len よりも小さければ、w 個の 文字が左寄せされ、(len - w) の後続ブランクが追加されます。

出力の場合、wlen より大きい場合、 出力フィールドは、(w - len) とそれに続く、 内部表現からの len 個の文字で構成されます。 wlen 以下であれば、 出力フィールドは、内部表現からの左端の w 個の文字で構成されます。

w を指定しないと、文字フィールドの幅は、対応する入出力リスト 項目の長さになります。

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

FORTRAN 2003 の開始 定様式ストリームへのアクセス時、文字出力に改行文字が含まれている場合、その文字出力は複数のレコードに分かれます。

FORTRAN 2003 の終了

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

B (2 進) 編集

目的

B 編集記述子は、内部形式の任意の型の値とその値を 2 進で表現したものとの間の編集を指示します。 (2 進数字は、0 または 1 です。)

構文

規則

入力の場合、w 個の 2 進数字が編集され、入力リスト項目の値の内部表現が作られます。 入力フィールド内の 2 進数字は、入力リスト項目に割り当てられた値の内部表現の右端の 2 進数字に対応します。 入力の場合、m は機能しません。

出力の場合、w はゼロよりも大きくなければなりません。

+---------------------------------Fortran 95---------------------------------+

出力の場合、w はゼロでもかまいません。 w がゼロの場合、出力フィールドは出力値を表すために必要な文字の最小数で構成されます。

+-----------------------------End of Fortran 95------------------------------+

Bw の出力フィールドは、ゼロ個以上の先行ブランクと、それに続く先行ゼロなしの 2 進数字と 同一の形式を持つ内部値で構成されます。 2 進定数は、常に 1 桁以上から構成されることに注意してください。

Bw.m の出力フィールドは、数字ストリングが m 桁以上であるという点を除いて、 Bw と同じになります。 必要に応じて、数字ストリングには、先行ゼロが埋められます。 m の値は、w の値がゼロでない限り、w の値を超えてはなりません。 m がゼロで、内部データの値がゼロの場合、出力フィールドは、符号の制御が有効であるか否かに かかわらず、ブランク文字のみで構成されます。

m がゼロ、w が正の数で、内部データの値がゼロの場合、出力フィールドは w 個の ブランク文字で構成されます。

FORTRAN 95 の開始wm の両方がゼロで、内部データの値がゼロの場合、出力フィールドは 1 つのブランク文字だけで構成されます。 FORTRAN 95 の終了

-qxlf77 コンパイラー・オプションの nooldboz サブオプションが指定される場合 (デフォルト)、 出力フィールド幅が出力全体を包含するのに不十分であるとき、アスタリスクが印刷されます。 入力の場合、BN および BZ 編集記述子は、 B 編集記述子に影響します。

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

-qxlf77 コンパイラー・オプションの oldboz サブオプションを指定すると、出力で以下の処理が 行われます。

w がゼロの場合、oldboz サブオプションは無視されます。

oldboz サブオプションによって、BN およ び BZ 編集記述子は、B 編集記述子に影響しません。

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

入力の場合の B 編集の例
Input      Format      Value
111        B3          7
110        B3          6

出力の場合の B 編集の例
Value      Format          Output                 Output
                   (with -qxlf77=oldboz)  (with -qxlf77=nooldboz)
 7          B3             111                    111
 6          B5             00110                  bb110
17          B6.5           b10001                 b10001
17          B4.2           0001                   ****
22          B6.5           b10110                 b10110
22          B4.2           0110                   ****
 0          B5.0           bbbbb                  bbbbb
 
 2          B0             10                     10
 

E、D、および Q (拡張精度) 編集

目的

ED、および拡張精度 Q 編集記述子は、 内部形式の実数および複素数と、それを指数付きの文字表現にしたもの との間の編集を指示します。 ED、または拡張精度 Q 編集記述子は、 実数型の入出力リスト項目、複素数型の入出力リスト項目の実数部または虚数部、

IBM 拡張の開始 または、長さが 4 バイト以上の XL Fortran のそれ以外の型に対応します。 IBM 拡張の終了

構文

規則

入力フィールドの形式は、 F 編集の場合と同じです。 入力の場合、e は機能しません。

0 のスケール因数の出力フィールドの形式は、次のとおりです。



>>-+-----+--+-----+--.--digit_string--decimal_exponent---------><
   +- + -+  '- 0 -'
   '- - -'
 
 

digit_string
丸められた後で、長さが d 桁の最初の有効数字になる 数字ストリングです。

decimal_exponent
次のいずれかの形式を持つ 10 進表示の指数です (z は 10 進数字です)。

編集記述子 指数の絶対値 (スケール因数が 0) 指数の形式
Ew.d |decimal_exponent| <= 99 E±z1z2
Ew.d 99<|decimal_exponent| <= 309 ±z1z2z3
Ew.dEe |decimal_exponent| <= (10e)-1 E±z1z2 ...ze
Ew.dDe * |decimal_exponent| <= (10e)-1 * D±z1z2 ...ze *
Ew.dQe * |decimal_exponent| <= (10e)-1 * Q±z1z2 ...ze *
Dw.d |decimal_exponent| <= 99 D±z1z2
Dw.d 99<|decimal_exponent| <= 309 ±z1z2z3
Qw.d * |decimal_exponent| <= 99 * Q±z1z2 *
Qw.d * 99<|decimal_exponent| <= 309 * ±z1z2z3 *
注:
* IBM 拡張

スケール因数 k (P (スケール因数) 編集を 参照) は、10 進数の正規化を制御します。 -d<k<=0 ならば、出力フィールド には |k| 個の先行ゼロが入り、小数点以下の 有効数字の桁数は d - |k| 桁です。 0<k<d+2 ならば、出力フィールドには、小数点の左側 に k 桁の有効数字が入り、小数点の右側に d-k+1 が 入ります。 これ以外の k の値は使用できません。

出力での数値データ編集記述子に関する規則 の数値編集についての一般情報を 参照してください。

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

注:
実数編集記述子を使って表示する値が、表示可能な数の範囲外に ある場合、XL Fortran では、次のものを表示する ANSI/IEEE 浮動小数点形式 がサポートされています。

表 19. 浮動小数点表示

表示 意味
NAN
+NAN
正の静止 NaN (非数字)
-NAN 負の静止 NaN
NAN
+NAN
正のシグナル NaN
-NAN 負のシグナル NaN
INF
+INF
正の無限大
-INF 負の無限大

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

入力における E、D、および拡張精度 Q 編集の例

(ブランクの解釈には BN 編集が有効であると仮定します。)

Input      Format      Value
12.34      E8.4        12.34
 .1234E2    E8.4        12.34
2.E10      E12.6E1     2.E10

出力における E、D、および拡張精度 Q 編集の例
Value      Format           Output                    Output
                    (with -qxlf77=noleadzero)  (with -qxlf77=leadzero)
1234.56    E10.3          bb.123E+04                b0.123E+04
1234.56    D10.3          bb.123D+04                b0.123D+04
 
 

+---------------------------------Fortran 95---------------------------------+

                    (with -qxlf90=signedzero)  (with -qxlf90=nosignedzero)
-0.001     E5.2           -0.00                     b0.00

+-----------------------------End of Fortran 95------------------------------+

EN 編集

目的

EN 編集記述子は、出力値がゼロの場合を除いて、10 進指数 が 3 で割り切れ、仮数の絶対値が 1 以上、1000 未満である 技術表記による実数値形式で出力フィールドを作り出します。 スケール因数は、出力には影響しません。

EN 編集記述子は、実数型の入出力リスト項目、複素数型の入出力リスト項目の実数部または虚数部、

IBM 拡張の開始 または、 長さが 4 バイト以上の、XL Fortran のそれ以外の型に対応します。 IBM 拡張の終了

構文

規則

入力フィールドの形式および解釈は、F 編集の場合と同じです。

出力フィールドの形式は、次のとおりです。



>>-+-----+--+-------+--.--digit_string--exp--------------------><
   +- + -+  '- yyy -'
   '- - -'
 
 

yyy
丸められた後のデータの値の有効数字の 1 から 3 まで の 10 進数表示です (yyy は、1 <= yyy < 1000 と いう整数になるか、出力値がゼロの場合は、yyy = 0 となります)。

digit_string
丸められた後のデータの値の d 桁の次の 有効数字です。

exp
次のいずれかの形式を持つ、3 で割り切れる 10 進表示の指数です (z は 10 進数字です)。

編集記述子 指数の絶対値 指数の形式
ENw.d |exp| <= 99 z1z2
ENw.d 99 < |exp| <= 309 ±z1z2z3
ENw.dEe |exp| <= 10e-1 z1 ... ze

数値編集の詳細については、出力での数値データ編集記述子に関する規則を参照してください。

Value         Format       Output
3.14159       EN12.5       b3.14159E+00
1.41425D+5    EN15.5E4     141.42500E+0003
3.14159D-12   EN15.5E1     ***************
 
 

+---------------------------------Fortran 95---------------------------------+

                      (with -qxlf90=signedzero)  (with -qxlf90=nosignedzero)
-0.001        EN9.2        -1.00E-03                   -1.00E-03      

+-----------------------------End of Fortran 95------------------------------+

ES 編集

目的

ES 編集記述子は、出力値がゼロの場合を除いて、 仮数の絶対値が 1 以上、10 未満である科学計算用数値表記法 で出力フィールドを作り出します。 スケール因数は、出力には影響しません。

ES 編集記述子は、実数型の入出力リスト項目、複素数型の入出力リスト項目の実数部または虚数部、

IBM 拡張の開始 または、 長さが 4 バイト以上の、XL Fortran のそれ以外の型に対応します。 IBM 拡張の終了

構文

規則

入力フィールドの形式および解釈は、F 編集の場合と同じです。

出力フィールドの形式は、次のとおりです。



>>-+-----+--+-----+--.--digit_string--exp----------------------><
   +- + -+  '- y -'
   '- - -'
 
 

y
丸められた後のデータの値の有効数字の 10 進数表示です。

digit_string
丸められた後のデータの値の d 桁の次の 有効数字です。

exp
次のいずれかの形式を持つ 10 進表示の指数 です (z は 10 進数字です)。

編集記述子 指数の絶対値 指数の形式
ESw.d |exp| <= 99 z1z2
ESw.d 99 < |exp| <= 309 ±z1z2z3
ESw.dEe |exp| <= 10e-1 z1 ... ze

数値編集の詳細については、出力での数値データ編集記述子に関する規則を参照してください。

Value         Format      Output
31415.9       ES12.5      b3.14159E+04
14142.5D+3    ES15.5E4    bb1.41425E+0007
31415.9D-22   ES15.5E1    ***************
 

+---------------------------------Fortran 95---------------------------------+

                      (with -qxlf90=signedzero)  (with -qxlf90=nosignedzero)
-0.001        ES9.2        -1.00E-03                   -1.00E-03      

+-----------------------------End of Fortran 95------------------------------+

F (指数なし実数) 編集

目的

F 編集記述子は、内部形式の実数および複素数と、 それを指数なしの文字表現にしたものとの間の編集を指示します。

F 編集記述子は、実数型の入出力リスト項目、複素数型の入出力リスト項目の実数部または虚数部、

IBM 拡張の開始 または、 長さが 4 バイト以上の、XL Fortran のそれ以外の型に対応します。 IBM 拡張の終了

構文

規則

F 編集記述子に対応する入力フィールドには、次のものがこの順序でならんでいます。

  1. オプションの符号
  2. オプションで、小数点を含む数字ストリング。 小数点がある場合は、編集記述子に指定されている d より も優先します。 小数点が省略されている場合、ストリングの右端の d 桁が 小数点以下の数と解釈され、必要なら先行ブランクがゼロに変換されます。
  3. 次のいずれかの形式のオプションの指数

F 編集記述子に対応する出力フィールドは、次のものがこの順序でならんでいます。

  1. 必要ならば、ブランク。
  2. 内部値が負ならば、負符号。内部値がゼロまたは正ならば、オプションの正符号。
  3. 小数点を含んでいる数字ストリング。これは、内部値の絶対値をその時点で有効なスケール因数で修正して、 小数点以下の桁数が d 桁になるように丸めたものです。 詳細については、P (スケール因数) 編集を参照してください。

追加情報については、出力での数値データ編集記述子に関する規則を参照してください。

出力の場合、w はゼロよりも大きくなければなりません。

+---------------------------------Fortran 95---------------------------------+

Fortran 95 では、出力の場合、w はゼロでもかまいません。 w がゼロの場合、出力フィールドは出力値を表すために 必要な文字の最小数で構成されます。

+-----------------------------End of Fortran 95------------------------------+

入力の場合の F 編集の例

(ブランクの解釈には BN 編集が有効であると仮定します。)

Input      Format      Value
-100       F6.2        -1.0
2.9        F6.2        2.9
4.E+2      F6.2        400.0

出力の場合の F 編集の例
Value      Format         Output                     Output
                   (with -qxlf77=noleadzero)  (with -qxlf77=leadzero)
+1.2       F8.4          bb1.2000                   bb1.2000
 .12345     F8.3          bbbb.123                   bbbb0.123
-12.34     F6.2          -12.34                     -12.34
 

+---------------------------------Fortran 95---------------------------------+

-12.34     F0.2          -12.34                     -12.34
 
                   (with -qxlf90=signedzero)  (with -qxlf90=nosignedzero)
-0.001     F5.2          -0.00                       b0.00

+-----------------------------End of Fortran 95------------------------------+

G (一般) 編集

目的

G 編集記述子は、任意の型の入出力リスト項目に 対応します。 整数データの編集は、I 編集記述子の規則に従い、実数および 複素数データの編集は、E または F 編集記述子の規則 に従います (値の大きさによる)。論理データの編集は L 編集記述子 の規則に従い、文字データの編集は、A 編集記述子の規則に 従います。

構文

規則

一般化された実数および複素数編集

-qxlf77 オプションの nogedit77 サブオプション (デフォルト) が 指定されると、出力フィールドの表示方法は、編集中の データの絶対値により決まります。 内部データの絶対値を N とします。 0 < N < 0.1-0.5×10-d-1 または N >= 10d-0.5 または N が 0 で d が 0 の場合、 Gw.d の出力編集は kPEw.d の出力編集と同じであり、 Gw.dEe の出力編集は kPEw.dEe の 出力編集と同じです。 ただし kP は、現在有効なスケール因数を指します (P (スケール因数) 編集も参照)。 もし 0.1-0.5×10-d-1  <= N < 10d-0.5 または N が 0 で d がゼロでない場合、スケール因数は機能せず、N の値が、 次のように編集を決定します。

データの絶対値
等価変換
N = 0
F(w-n).(d-1),n('b')
(d は 0 以外)
0.1-0.5×10-d-1 <= N < 1-0.5×10-d
F(w-n).d,n('b')
1-0.5×10-d <= N < 10-0.5×10-d+1
F(w-n).(d-1),n('b')
10-0.5×10-d+1
 <= N < 100-0.5×10-d+2
F(w-n).(d-2),n('b')
...
...
10d-2-0.5×10-2 <= N < 10d-1-0.5×10-1
F(w-n).1,n('b')
10d-1-0.5×10-1 <= N < 10d-0.5
F(w-n).0,n('b')

表中の b はブランクです。 n は、 Gw.d に対して 4 となり、Gw.dEe に対して e+2 となります。 w-n の値は正の数でなければなりません。

編集対象のデータの絶対値が F 編集の効果的使用を可能にする 範囲内でなければ、スケール因数は機能しないことに 注意してください。

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

0 < N <  0.1-0.5×10-d-1N >= 10d-0.5 の場合、または N が 0 かつ d が 0 の 場合、Gw.dDe 出力編集は kPEw.dDe での出力編集と同じになり、 Gw.dQe での出力編集は kPEw.dQe での出力編集と同じになります。

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

出力の場合、-qxlf77 コンパイラー・オプション の gedit77 サブオプションが指定されると、数値に 応じ E または F 編集を使ってこの数値が変換されます。 フィールドには、 必要に応じて、右側にブランクが埋められます。 ある数の絶対値を N とすれば、編集は次のように行われます。

注:
FORTRAN 77 では、 値の丸めが出力フィールド形式にどのように 影響するかについて扱っていませんが、 Fortran 90 では、その処理が行われます。 したがって、-qxlf77=gedit77 を使用することによって、 値と G 編集記述子の特定の組み合わせで -qxlf77=nogedit77 を使用する場合と異なる出力形式が生成される可能性があります。

追加情報については、出力での数値データ編集記述子に関する規則を参照してください。

Value      Format         Output                  Output
                   (with -qxlf77=gedit77)    (with -qxlf77=nogedit77)
0.0        G10.2         bb0.00E+00               bbb0.0
0.0995     G10.2         bb0.10E+00               bb0.10
99.5       G10.2         bb100.                   bb0.10E+03

I (整数) 編集

目的

I 編集記述子は、内部形式の整数と、整数を文字表現した ものとの間の編集を指示します。 対応する入出力リスト項目は、整数型、 IBM 拡張の開始 または XL Fortran の他の型になります。

IBM 拡張の終了

構文

規則

w はオプションの符号を含みます。

m は、 FORTRAN 95 の開始w の値が Fortran 95 でゼロでない限り、 w 以下の値を持たなければなりません。 FORTRAN 95 の終了

I 編集記述子に対応する入力フィールドは、ブランクだけ からなる入力フィールドを除いて、オプションの符号のついた数字ストリング になります。 入力フィールドがブランクだけからなる場合、そのような 入力フィールドはゼロと見なされます。

m は出力のみ有効です。 入力では機能しません。

出力の場合、w はゼロよりも大きくなければなりません。

+---------------------------------Fortran 95---------------------------------+

出力の場合、w はゼロでもかまいません。 w がゼロの場合、出力フィールドは出力値を表すために 必要な文字の最小数で構成されます。

+-----------------------------End of Fortran 95------------------------------+

I 編集記述子に対応する出力フィールドは、次のものが 以下の順序でならんでいます。

  1. ゼロ個以上の先行ブランク
  2. 内部値が負ならば負符号、ゼロまたは正ならばオプションの正符号
  3. 次に示す形式の絶対値

数値編集の詳細については、『編集』を参照してください。

m がゼロ、w が正の数で、内部データの値がゼロの場合、出力フィールドは w 個の ブランク文字で構成されます。 wm の両方がゼロで、内部データの値がゼロの場合、出力フィールドは、ブランク文字 1 つ のみで構成されます。

入力における I 編集の例

(ブランクの解釈には BN 編集が有効であると仮定します。)

Input      Format      Value
-123       I6          -123
123456     I7.5        123456
1234       I4          1234

出力における I 編集の例
Value      Format      Output
-12        I7.6        -000012
12345      I5          12345
 

+---------------------------------Fortran 95---------------------------------+

0          I6.0        bbbbbb
0          I0.0        b
2          I0          2

+-----------------------------End of Fortran 95------------------------------+

L (論理) 編集

目的

L 編集記述子は、内部形式の論理値と、それを文字表現した ものとの間の編集を指示します。 L 編集記述子は、論理型の入出力リスト項目、

IBM 拡張の開始 または、XL Fortran のそれ以外の型に対応します。 IBM 拡張の終了

構文

規則

入力フィールドは、オプションのブランクと、それに続く オプションの小数点、さらにそれに続いて真 (true) を表す T または 偽 (false) を表す F から構成されます。w はブランクを含みます。 入力の場合、T または F の後にどのような文字 があっても受け入れられますが、後続の文字は無視されます。したがって、 .TRUE. および .FALSE. というストリングは、 受け入れ可能な入力形式です。

出力フィールドは、( w - 1 ) 個のブランクと、それに 続く T または F から構成されます。

入力における L 編集の例
Input      Format      Value
T          L4          true
 .FALSE.    L7          false

出力における L 編集の例
Value      Format      Output
TRUE       L4          bbbT
FALSE      L1          F

O (8 進) 編集

目的

O 編集記述子は、任意の型の内部形式の値と、 それを 8 進で表現したものとの間の編集を指示します。(8 進数字は、0 から 7 までの数です。)

構文

規則

w はブランクを含みます。

入力の場合、w 個の 8 進数字が編集され、入力リスト 項目の値の内部表現が作られます。 入力フィールド内の 8 進数字は、 入力リスト項目に割り当てられた 値の内部表現の右端の 8 進数字に対応します。 入力の場合、m は機能しません。

出力の場合、w はゼロよりも大きくなければなりません。

+---------------------------------Fortran 95---------------------------------+

出力の場合、w はゼロでもかまいません。 w がゼロの場合、出力フィールドは出力値を表すために 必要な文字の最小数で構成されます。

+-----------------------------End of Fortran 95------------------------------+

Ow の出力フィールドは、ゼロ個以上の先行ブランクと、それにつづく先行ゼロなしの 8 進数字と同一の形式を持つ内部値で構成されています。 8 進定数は、常に 1 桁以上からなるという点に注意してください。

Ow.m の出力フィールドは、数字ストリングが m 桁以上であるという点を除いて、 Ow と同じになります。 必要に応じて、数字ストリングには、先行ゼロが埋められます。 m の値は、w の値がゼロでない限り、w の値を超えてはいけません。 m がゼロで、内部データの値がゼロの場合、出力フィールドは、符号の制御が有効であるか否かにかかわらず、 ブランク文字のみで構成されます。

-qxlf77 コンパイラー・オプション の nooldboz サブオプションが指定される場合 (デフォルト)、 出力フィールド幅が出力全体を包含するのに不十分であるとき、 アスタリスクが印刷されます。 入力の場合、BN および BZ 編集記述子 は、O 編集記述子に影響します。

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

-qxlf77 コンパイラー・オプション の oldboz サブオプションを指定すると、出力で以下の処理が 行われます。

w がゼロの場合、oldboz サブオプションは無視されます。

oldboz サブオプションによって、 BN および BZ 編集記述子 は、O 編集記述子に影響しません。

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

m がゼロ、w が正の数で、内部データの値がゼロの場合、出力フィールドは w 個の ブランク文字で構成されます。 wm の両方がゼロで、内部データの値がゼロの場合、出力フィールドは、ブランク文字 1 つ のみで構成されます。

入力における O 編集の例
Input      Format      Value
123        O3          83
120        O3          80

出力における O 編集の例
Value      Format         Output                 Output
                  (with -qxlf77=oldboz)  (with -qxlf77=nooldboz)
80         O5             00120                  bb120
83         O2             23                     **
 

+---------------------------------Fortran 95---------------------------------+

0          O5.0           bbbbb                  bbbbb
0          O0.0           b                      b
80         O0             120                    120

+-----------------------------End of Fortran 95------------------------------+

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

Q (文字カウント) 編集

目的

文字カウント Q 編集記述子は、入力レコードに残っている文字数を戻します。 その結果を使用して残りの入力を制御することができます。

構文

規則

また、拡張精度 Q 編集記述子もあります。 最初に説明したように、デフォルトでは、XL Fortran は前述の拡張精度 Q 編集記述子のみを認識します。 詳細については、E、D、および Q (拡張精度) 編集を参照してください。 両方の Q 編集記述子を使用可能にするには、-qqcount コンパイラー・オプションを指定する必要があります。

-qqcount コンパイラー・オプションを指定すると、コンパイラーは、Q 編集記述子を使用する 方法により 2 つの Q 編集記述子を区別します。 単独の Q を検出した場合のみ、コンパイラーは、文字カウント Q 編集記述子として解釈します。 Qw. または Qw.d を検出すると、XL Fortran は拡張精度 Q 編集記述子として 解釈します。 正しいセパレーターの正しい形式仕様を使用し、どちらの Q 編集記述子を指定したかを XL Fortran に 解釈させてください。

文字カウント Q 編集記述子の結果として戻された値は、入力レコード長およびそのレコードの現在の 文字位置によって異なります。 その値は、FORMAT ステートメント内の文字カウント Q 編集記述子の位置に対応する位置にある READ ステートメントのスカラー整変数内へ戻されます。

文字カウント Q 編集記述子は、次のファイル・タイプおよびアクセス・モードのレコードを読み取ることが できます。

出力操作では、文字カウント Q 編集記述子は無視されます。 対応する出力項目はスキップされます。

@PROCESS QCOUNT
       CHARACTER(50) BUF
       INTEGER(4) NBYTES
       CHARACTER(60) STRING
       ...
       BUF = 'This string is 29 bytes long.'
       READ( BUF, FMT='(Q)' ) NBYTES
       WRITE( *,* ) NBYTES
! NBYTES equals 50 because the buffer BUF is 50 bytes long.
       READ(*,20) NBYTES, STRING
20     FORMAT(Q,A)
! NBYTES will equal the number of characters entered by the user.
       END

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

Z (16 進) 編集

目的

Z 編集記述子は、任意の型の内部形式の値と その値を 16 進で表現したものとの間の編集を指示します (16 進数字は、0 〜 9、A 〜 F または a 〜 f のいずれかです)。

構文

規則

入力の場合、w 個の 16 進数字が編集されて、入力リスト 項目の値の内部表現が作られます。 入力フィールド内の 16 進数字は、 入力リスト項目に割り当てられた 値の内部表現の右端の 16 進数字に対応します。 入力の場合、m は機能しません。

+---------------------------------Fortran 95---------------------------------+

出力の場合、w はゼロでもかまいません。 w がゼロの場合、出力フィールドは出力値を表すために 必要な文字の最小数で構成されます。

+-----------------------------End of Fortran 95------------------------------+

Zw の出力フィールドは、ゼロ個以上の先行ブランクと、それに続く先行ゼロなしの 16 進数字と 同一の形式を持つ内部値で構成されています。 16 進定数は、常に 1 桁以上からなるという点に注意してください。

Zw.m の出力フィールドは、数字ストリングが m 桁以上であるという点を除いて、 Zw と同じになります。 必要に応じて、数字ストリングには、先行ゼロが埋められます。 m の値は、 FORTRAN 95 の開始w の値がゼロでない限り、w の値を超えてはいけません。 FORTRAN 95 の終了m がゼロで、内部データの値がゼロの場合、出力フィールドは、 符号の制御が有効であるか否かにかかわらず、ブランク文字だけで構成されます。

m がゼロ、w が正の数で、内部データの値がゼロの場合、出力フィールドは w 個の ブランク文字で構成されます。

+---------------------------------Fortran 95---------------------------------+

wm の両方がゼロで、内部データの値がゼロの場合、出力フィールドは、 ブランク文字 1 つのみで構成されます。

+-----------------------------End of Fortran 95------------------------------+

-qxlf77 コンパイラー・オプションの nooldboz サブオプションが指定される場合 (デフォルト)、 出力フィールド幅が出力全体を包含するのに不十分であるとき、アスタリスクが印刷されます。 入力の場合、BN および BZ 編集記述子は、Z 編集記述子に影響します。

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

-qxlf77 コンパイラー・オプションの oldboz サブオプションを指定すると、出力で以下の処理が 行われます。

w がゼロの場合、oldboz サブオプションは無視されます。

oldboz サブオプションによって、BN および BZ 編集記述子は、 Z 編集記述子に影響しません。

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

入力の場合の Z 編集の例
Input      Format      Value
0C         Z2          12
7FFF       Z4          32767

出力の場合の Z 編集の例
Value      Format         Output                 Output
                  (with -qxlf77=oldboz)  (with -qxlf77=nooldboz)
-1         Z2             FF                     **
12         Z4             000C                   bbbC
 

+---------------------------------Fortran 95---------------------------------+

12         Z0             C                      C
0          Z5.0           bbbbb                  bbbbb
0          Z0.0           b                      b    

+-----------------------------End of Fortran 95------------------------------+

IBM Copyright 2003