並び順番 READ 文の規則

並び順番 READ 文は,対応する I/O 並び項目のデータ型を使ってデータの形式を決定することにより,データを文字列から 2 進形式に変換します。その後,変換されたデータは,I/O 並び中の要素に,それらの要素が現れる順に (左から右に) 代入されます。

実行中に斜線 (/) が現れると,READ 文は終了し,残りの入力並び項目は変更されないままになります。

ファイルが書式なし I/O のために接続されている場合,並びデータ転送は禁止されます。

並び記録

並び外部記録は,一連の値と値区切り子から構成されています。値としては以下のものが使用できます。

値区切り子は,任意の数の空白,または任意の数の空白の前後に付けられた 1 つのコンマあるいは斜線です。このような値区切り子が文字定数中に現れた場合,値区切り子ではなく定数の一部と見なされます。

記録終了は空白文字と等価です (文字定数中にある場合を除く)。文字定数中に記録終了がある場合,その記録終了は無視され,文字定数は次の記録に継続されます (前の記録の最後の文字の直後に,次の記録の最初の文字が続けられます)。

記録の先頭にある空白は,前の記録から継続された文字定数の一部である場合を除いて無視されます。記録の先頭にある空白が前の記録から継続された文字定数の一部である場合,記録の先頭の空白は定数の一部と見なされます。

以下の文が指定されているとします。

	CHARACTER*14 C
	DOUBLE PRECISION T
	COMPLEX D,E
	LOGICAL L,M
	READ (1,*) I,R,D,E,L,M,J,K,S,T,C,A,B

また,次の外部記録が読み取られるものとします。

	4 6.3 (3.4,4.2), (3, 2 ) , T,F,,3*14.6 ,'ABC,DEF/GHI''JK'/

I/O 並び項目には以下の値が代入されます。

I/O 並び項目 代入される値
I 4
R 6.3
D (3.4,4.2)
E (3.0,2.0)
L .TRUE.
M .FALSE.
J 変更されない
K 14
S 14.6
T 14.6D0
C ABC,DEF/GHI' JK
A 変更されない
B 変更されない

以下は,並び入出力を示しています。

	REAL    a
	INTEGER i
	COMPLEX c
	LOGICAL up, down
	DATA a /2358.2E-8/, i /91585/, c /(705.60,819.60)/
	DATA up /.TRUE./, down /.FALSE./
	OPEN (UNIT = 9, FILE = 'listout', STATUS = 'NEW')
	WRITE  (9, *) a, i
	WRITE  (9, *) c, up, down
	REWIND (9)
	READ   (9, *) a, i
	READ   (9, *) c, up, down
	WRITE  (*, *) a, i
	WRITE  (*, *) c, up, down
	END

上述の例は,以下の結果を生成します。

	2.3582001E-05     91585
	(705.6000,819.6000) T F

関連情報