文字型編集 (A 形)

A 形編集記述子は,文字列またはホレリス値を転送します。これは次の形式を取ります。

A[w]

対応する I/O 並び項目が文字型ならば,文字データが転送されます。並び項目がそれ以外の型ならば,ホレリス・データが転送されます。

G 形編集記述子を使うと,文字データを編集することができます。これは Aw と同じ規則に従います。

入力処理の規則

入力時に A 形編集記述子は,外部欄から w 個の文字を転送し,対応する I/O 並び項目に代入します。

格納できる文字数の最大値は,I/O 並び項目の大きさに以下のように依存します。

A 形編集での非文字データの大きさ制限

I/O 並び要素 文字列の最大の大きさ
BYTE 1
LOGICAL(1) または LOGICAL*1 1
LOGICAL(2) または LOGICAL*2 2
LOGICAL(4) または LOGICAL*4 4
LOGICAL(8) または LOGICAL*8 8
INTEGER(1) または INTEGER*1 1
INTEGER(2) または INTEGER*2 2
INTEGER(4) または INTEGER*4 4
INTEGER(8) または NTEGER*8 8
REAL(4) または REAL*4 4
DOUBLE PRECISION 8
REAL(8) または REAL*8 8
REAL(16) または REAL*16 16 1
COMPLEX(4) または COMPLEX*8 8 2
DOUBLE COMPLEX 16 2
COMPLEX(8) または COMPLEX*16 16 2
COMPLEX(16) または COMPLEX*32 32 1,2
1 VMS と U*X
2 複素数値は実数値の組として扱われるので,複素数編集には実数型編集記述子の組が必要となります (「複素数型編集」を参照)。

w が入力項目の長さ (len) 以上である場合,その項目には右端の文字が代入されます。左側の余った文字は無視されます。

wlen よりも小さいか,格納可能な文字数よりも小さい場合,並び項目に w 個の文字が左詰めで代入され,末尾に空白が追加されます。

次に,A 形編集記述子を使った入力の例を示します ('^' は,空白文字を表しています)。

	書式	入力				データ型
	A6	PAGE^#		#		CHARACTER(LEN=1)
	A6	PAGE^#		E^#		CHARACTER(LEN=3)
	A6	PAGE^#		PAGE^#		CHARACTER(LEN=6)
	A6	PAGE^#		PAGE^#^^	CHARACTER(LEN=8)
	A6	PAGE^#		#		LOGICAL(1)
	A6	PAGE^#		^#		INTEGER(2)
	A6	PAGE^#		GE^#		REAL(4)
	A6	PAGE^#		PAGE^#^^	REAL(8)

出力処理の規則

出力時に A 形編集記述子は,対応する I/O 並び項目の内容を,w 文字の長さの外部欄に転送します。

w が並び項目の大きさよりも大きい場合,データは出力欄に右詰めで転送され,先頭に空白が追加されます。w が並び項目の大きさ以下ならば,左端の w 文字が転送されます。

次に,A 形編集記述子を使った出力の例を示します ('^' は,空白文字を表しています)。

	書式			出力
	A5	OHMS		^OHMS
	A5	VOLTS		VOLTS
	A5	AMPERES		AMPER

関連情報