XL Fortran for AIX V8.1.1

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


データ編集記述子

A (文字) 編集

形式:

A
Aw

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

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

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

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

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

B (2 進) 編集

形式:

Bw
Bw.m

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

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

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

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

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

+------------------------------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 編集記述子に影響しません。

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

入力の場合の B 編集の例

Input      Format      Value
111        B3          7
110        B3          6

出力の場合の B 編集の例

Value      Format          Output                 Output
                  (-qxlf77=oldboz の指定)  (-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 (拡張精度) 編集

形式:

Ew.d
Ew.dEe
Dw.d
IBM 拡張の開始Ew.d De IBM 拡張の終了
IBM 拡張の開始Ew.d Qe IBM 拡張の終了
IBM 拡張の開始Qw.d IBM 拡張の終了

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

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

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

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



>>-+-----+--+-----+--.--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 浮動小数点形式がサポートされています。

表 12. 浮動小数点表示

表示 意味
NaNQ
+NaNQ
正の静止 NaN (番号でない)
-NaNQ 負の静止 NaN
NaNS
+NaNS
正のシグナル NaN
-NaNS 負のシグナル NaN
INF
+INF
正の無限大
-INF 負の無限大

+--------------------------------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
                     (-qxlf77=noleadzero の指定)  (-qxlf77=leadzero の指定)
1234.56    E10.3          bb.123E+04                b0.123E+04
1234.56    D10.3          bb.123D+04                b0.123D+04
 
 

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

                  (-qxlf90=signedzero の指定) (-qxlf90=nosignedzero の指定)
-0.001     E5.2           -0.00                     b0.00

+------------------------------Fortran 95 の終り------------------------------+

EN 編集

形式:

ENw.d
ENw.dEe

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

EN 編集記述子は、実数タイプの I/O リスト項目、複素数タイプの I/O リスト項目の実数部または虚数部、 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

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

EN 編集の例

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---------------------------------+

                  (-qxlf90=signedzero の指定) (-qxlf90=nosignedzero の指定)
-0.001        EN9.2        -1.00E-03                   -1.00E-03      

+------------------------------Fortran 95 の終り------------------------------+

ES 編集

形式:

ESw.d
ESw.dEe

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

ES 編集記述子は、実数タイプの I/O リスト項目、複素数タイプの I/O リスト項目の実数部または虚数部、 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

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

ES 編集の例

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---------------------------------+

                  (-qxlf90=signedzero の指定) (-qxlf90=nosignedzero の指定)
-0.001        ES9.2        -1.00E-03                   -1.00E-03      

+------------------------------Fortran 95 の終り------------------------------+

F (指数なし実数) 編集

形式:

Fw.d

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

F 編集記述子は、実数タイプの I/O リスト項目、複素数タイプの I/O リスト項目の実数部または虚数部、

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

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

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

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

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

追加情報は、編集を参照してください。

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

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

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

+------------------------------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
                     (-qxlf77=noleadzero の指定)  (-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
 
                   (-qxlf90=signedzero の指定)  (-qxlf90=nosignedzero の指定)
-0.001     F5.2          -0.00                       b0.00

+------------------------------Fortran 95 の終り------------------------------+

G (一般) 編集

形式:

Gw.d
Gw.dEe
IBM 拡張の開始Gw.dDe IBM 拡張の終了
IBM 拡張の開始Gw.dQe IBM 拡張の終了

G 編集記述子は、任意のタイプの I/O リスト項目に対応します。整数データの編集は、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 での出力編集と同じになります。

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

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

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

追加情報は、編集を参照してください。

出力における G 編集の例

Value      Format         Output                  Output
                   (-qxlf77=gedit77 の指定)    (-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 (整数) 編集

形式:

Iw
Iw.m

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

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

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

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

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

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

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

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

+------------------------------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

+------------------------------Fortran 95 の終り------------------------------+

L (論理) 編集

形式:

Lw

L 編集記述子は、内部形式の論理値と、それを文字表現したものとの間の編集を指示します。 L 編集記述子は、論理タイプの I/O リスト項目、

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 進数) 編集

形式:

Ow
Ow.m

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

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

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

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

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

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

+------------------------------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 編集記述子に影響しません。

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

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

入力における O 編集の例

Input      Format      Value
123        O3          83
120        O3          80

出力における O 編集の例

Value      Format         Output                 Output
                  (-qxlf77=oldboz の指定)  (-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

+------------------------------Fortran 95 の終り------------------------------+

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

Q (文字カウント) 編集

形式:

Q

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

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

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

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

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

出力操作では、文字カウント 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

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

Z (16 進) 編集

形式:

Zw
Zw.m

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

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

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

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

+------------------------------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 つのみで構成されます。

+------------------------------Fortran 95 の終り------------------------------+

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

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

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

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

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

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

入力の場合の Z 編集の例

Input      Format      Value
0C         Z2          12
7FFF       Z4          32767

出力の場合の Z 編集の例

Value      Format         Output                 Output
                  (-qxlf77=oldboz の指定)  (-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    

+------------------------------Fortran 95 の終り------------------------------+


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