データ編集記述子は以下のいずれかの形式を取ります。
[r]c
[r]cw
[r]cw.m
[r]cw.d
[r]cw.d[Ee]
r
書式反復数。r の範囲は 1 ~ 2147483647 (2**31-1) です。r を省略した場合,値 1 が使用されます。
c
次のいずれかの書式コード:I,B,O,Z,F,E,EN,ES, D, G, L,または A
w
欄内のけた数 (欄幅)。省略した場合,システムが基本値を適用します (「データ編集記述子の基本幅」を参照)。w の範囲は,Alpha および ia64 プロセッサーでは 1 ~ 2147483647 (2**31-1),ia32 プロセッサーでは 1 ~ 32767 (2**15-1) です。I,B,O,Z,および F の場合,範囲はゼロから始まることができます。
m
欄内に存在しなければならないけた数の最小値 (先頭のゼロを含む)。m の範囲は,Alpha および ia64 プロセッサーでは 0 ~ 32767 (2**15-1),ia32 プロセッサーでは 0 ~ 255 (2**8-1) です。
d
小数点の右側のけた数 (有効けた数)。d の範囲は,Alpha および ia64 プロセッサーでは 0 ~ 32767 (2**15-1),ia32 プロセッサーでは 0 ~ 255 (2**8-1) です。
データ編集記述子に対してけた移動数が指定されていると,有効けた数はその影響を受けます。
E
指数欄を識別。
e
指数のけた数。e の範囲は,Alpha および ia64 プロセッサーでは 1 ~ 32767 (2**15-1),ia32 プロセッサーでは 1 ~ 255 (2**8-1) です。
規則と振る舞い
Fortran 95/90 (およびそれ以前の標準) では,A 形編集記述子でのみ欄幅を省略することができました。しかし,Compaq Fortran では,どのデータ編集記述子でも欄幅を省略することが可能です。
r,w,m,d,および e は,いずれも正符号なし基本整数型定数表現であるか,可変書式でなくてはなりません。種別パラメタは指定できません。名前付き定数であってはなりません。
r,w,m,d,および e の実際に使用可能な範囲は,記録の大きさ (RECL) とファイル・システムの制約を受けることがあります。
データ編集記述子には,以下の個別形式があります。
整数 | Iw[.m],Bw[.m],Ow[.m],Zw[.m] |
実数と複素数 | Fw.d,Ew.d[Ee],ENw.d[Ee],ESw.d[Ee],Dw.d,Gw.d[Ee] |
論理 | Lw |
文字 | A[w] |
F 形,E 形,D 形,および G 形編集記述子では,d がゼロであっても,必ず d を指定する必要があります。小数点も必須です。w と d は,ともに指定するか,ともに省略しなくてはなりません。
書式反復数を使うと,書式化を単純化することができます。たとえば,次の 2 つの文は等価です。
20 FORMAT (E12.4,E12.4,E12.4,I5,I5,I5,I5) 20 FORMAT (3E12.4,4I5)
例
! この WRITE 文は,5 カラムの 3 つの整数, ! F7.2 と F5.2 の値の組の 4 つの実数を出力します。 INTEGER(2) int1, int2, int3 REAL(4) r1, r2, r3, r4 DATA int1, int2, int3 /143, 62, 999/ DATA r1, r2, r3, r4 /2458.32, 43.78, 664.55, 73.8/ WRITE (*,9000) int1, int2, int3, r1, r2, r3, r4 9000 FORMAT (3I5, 2(1X, F7.2, 1X, F5.2))
この例は,以下の出力を生成します。
143 62 999 2458.32 43.78 664.55 73.80
関連情報
数値編集の一般的な規則については,「数値編集の一般的な規則」を参照してください。
入れ子とグループ書式反復数については,「入れ子とグループ書式反復数」を参照してください。