FORMAT

:転送されるデータの形式とその形式に保存するために要求されるデータ変換 (編集) を指定します。

形式

FORMAT (format-list)

format-list
以下に示す編集記述子を,コンマ (,) または斜線 (/) で区切って 1 つまたは複数個を指定した並び。

データ編集記述子 I, B, O, Z, F, E, EN, ES, D, G, L, A
制御編集記述子 T, TL, TR, X, S, SP, SS, BN, BZ, P, :, /, $, \, Q
文字列編集記述子 H, 'c', "c"c は文字定数。

以下の場合は,コンマを省略することができます。

編集記述子は入れ子にすることができ,データ編集記述子,斜線編集記述子,または括弧で囲まれた編集記述子並びの前には書式反復数を置くことができます。

規則と振る舞い

FORMAT 文は文番号付きでなくてはなりません。

書式仕様では,名前付き定数は使用できません。

結合された I/O 文が I/O 並びを含んでいる場合,書式仕様は少なくとも 1 つのデータ編集記述子か,Q 形制御編集記述子を含んでいなくてはなりません。

最初の左括弧の前には空白文字を置くことができます。また,書式仕様中の任意の場所にも空白を追加することができます。これらの空白は,文字列編集記述子の中にある場合を除いて意味を持ちません。

書式付き入力文が実行されるときには,(関連する論理装置に対する) BLANK 指定子の設定が,仕様中の空白の解釈を決定します。書式付き入力文に対して BN 形または BZ 形編集記述子が指定されている場合,それらは基本空白解釈よりも優先されます (BLANK の基本設定については,「OPEN」を参照してください)。

書式付き入力では,外部欄区切り子としてコンマを使用します。コンマは,期待される文字数よりも短い (文字以外のデータ型の) 欄の入力を終了させます。また,これは空 (長さゼロの) 欄も指定することができます。

ライン・プリンタまたはターミナルに送信される記録の最初の文字は,通常は復帰制御に使用され,印字されません。このような記録の最初の文字は,空白,01$ +または ASCII NUL にしてください。これ以外の文字は空白として扱われます。

書式仕様は,外部記録が含むことができるよりも多くの出力文字を指定することはできません。たとえば,ライン・プリンタ記録は,復帰制御文字を含めて 133 文字よりも多くの文字を含むことはできません。

編集記述子が整数定数を要求する場合,FORMAT に整数式を指定することができます。整数式は,山括弧 (<>) で囲まれていなければなりません。以下の例は,有効な書式仕様です。

		WRITE(6,20) INT1
	20	FORMAT(I<MAX(20,5)>)

		WRITE(6,FMT=30) INT2, INT3
	30	FORMAT(I<J+K>, I<2*M>)

整数式には,関数呼び出し,仮引数の参照を含む,以下の制限付きで,有効な Fortran 式を使うことができます。

式の値は,READWRITE,または PRINT 文の実行中に I/O 項目が処理される度に再評価されます。

次表は,書式仕様で使用できる編集記述子を要約しています。

データ編集記述子
コード 書式 1 効果
A A[w] 文字列またはホレリス値を転送します。
B Bw[.m] 2 進値を転送します。
D Dw.d D の指数部を持つ実数値を転送します。
E Ew.d[Ee] E の指数部を持つ実数値を転送します。
EN ENw.d[Ee] 工学表記の形で実数値を転送します。
ES ESw.d[Ee] 科学表記の形で実数値を転送します。
F Fw.d 指数部なしの実数値を転送します。
G Gw.d[Ee] すべての組込み型の値を転送します。
I Iw[.m] 10 進の整数値を転送します。
L Lw 論理値を転送します。入力の際に文字列を転送します。出力の際に T または F を転送します。
O Ow[.m] 8 進値を転送します。
Z Zw[.m] 16 進値を転送します。

1 w は欄幅です。
  m は欄内に存在しなければならないけた数の最小値 (先頭のゼロを含む)。
  d は小数点の右側のけた数です。
  E は指数欄です。
  e は指数のけた数です。

制御編集記述子
コード 書式 効果
BN BN 数値入力欄中の埋め込み空白と末尾の空白を無視します。
BZ BZ 数値入力欄中の埋め込み空白と末尾の空白をゼロとして扱います。
P kP 一部の実数を指定されたけた移動数をもとに解釈します。
Q Q 入力記録に残っている文字数を返します。
S S 数値出力欄中の任意正符号 (+) を元に戻します。SPSS の作用を取り消します。
SP SP 数値出力欄に任意正符号 (+) を書き込みます。
SS SS 数値出力欄の任意正符号 (+) を抑止します。
T Tn 指定された位置に移動します。
TL TLn 指定された位置の数だけ左に移動します。
TR TRn 指定された位置の数だけ右に移動します。
X nX 指定された位置の数だけ飛び越します。
$ $ 対話型 I/O の際に,末尾の復帰を抑止します。
: : I/O 並びに項目がなくなった場合,書式制御を終了させます。
/ [r]/ 現在の記録を終了させ,次の記録に移動します。
\ \ 同じ記録を継続します。$ と同じ。
文字列集記述子
コード 書式 効果
H nHch[ch...] H 形編集記述子の後に続く文字列を出力記録に転送します。
'c' 2 'c' 文字定数表現 (区切り文字に囲まれているもの) を出力記録に転送します。
2 これらの区切り文字は引用符 (") であってもかまいません。

互換性

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

関連情報

I/O 書式化書式仕様データ編集記述子

		INTEGER width, value
		width = 2
		read (*,1) width, value
	!	入力が 3123 であれば,12 ではなく 123 を印字します。
	1	format ( i1, i<width>)
		print *, value
		END