OPEN文
- OPEN文にFILE指定子が指定されていない場合、装置に接続される
ファイルは、装置に既に接続されているファイルと同一とする。
- UNIT=は、省略可能であるが省略する場合、UNIT指定子は、接続指定子の
最初の項目でなければならない。
[接続指定子]
[UNIT=] 外部ファイル装置
FILE= ファイル名記述
IOSTAT= 基本整変数
ERR= 文番号
STATUS= 基本文字式 [OLD,NEW,SCRATCH,REPLACE,UNKNOWN]
ACCESS= 基本文字式 [SEQUENTIAL,DIRECT]
FORM= 基本文字式 [FORMATTED,UNFORMATTED]
RECL= 基本整変数
BLANK= 基本文字式 [NULL,ZERO]
POSITION= 基本文字式 [ASIS,REWIND,APPEND]
ACTION= 基本文字式 [READ,WRITE,READWRITE]
DELIM= 基本文字式 [APOSTROPHE,QUOTE,NONE]
PAD= 基本文字式 [YES,NO]
(注)[ ]は、指定子に指定できる文字の値であり、下線は省略時の値を示す。
UNIT指定子
外部入出力装置の識別子である。整数の番号を指定する。
UNIT=は、省略できるが省略する場合、UNIT指定子は、接続指定子の
最初の項目でなければならない。
FILE指定子
FILE指定子の値は、指定した装置に接続するファイルの名前とする。
ファイル名記述式は、コンパイラで許される名前でなければならない。
文字列の変数名にファイル名をいれて指定するかまたは、アポストロフィ
囲んでファイル名を直接記述する。
IOSTAT指定子(基本整変数)
整変数を記述し、エラーが検出されると正に、エラー条件が何も
検出されなければゼロになる。
ERR指定子(文番号)
エラーが検出されると、指定した文番号に制御が移される。
STATUS指定子(基本文字式)
文字式の値は、OLD、NEW、SCRATCH、REPLACEまたは、UNKNOWNを指定する。
- OLDを指定した場合、ファイルは、存在しなければならない。
- NEWを指定した場合、ファイルは存在していてはならない。NEWを指定した
OPEN文の実行が成功すると、ファイルが生成され、状態がOLDに変更される。
- REPLACEを指定し、ファイルがまだ存在しない場合、ファイルが生成され、
状態がOLDに変更される。REPLACEを指定し、かつファイルが存在する場合、
そのファイルは削除され、新しいファイルが同じ名前で生成され、
状態がOLDに変更される。
- SCRATCHを指定した場合、ファイルが生成され、CLOSE文の実行、または
プログラムの終了によって削除される。SCRATCHを指定した場合、FILE指定子を
書いてはいけない。
- OLD、NEW、REPLACEを指定した場合、FILE指定子も書く必要がある。
ACCESS指定子(基本文字式)
文字式の値は、SEQUENTIALまたは、DIRECTを指定する。ACCESS指定子は、
ファイルの接続がそれぞれ順番探査または直接探査であることを指定する。
省略すると、SEQUENTIALになる。
FORM指定子(基本文字式)
文字式の値は、FORMATTEDまたは、UNFORMATTEDを指定する。ファイルを
それぞれ書式付き入出力文または書式なし入出力文として接続することを
指定する。省略すると、ファイルが直接探査として接続されるならば、
UNFORMATTED、順番探査として接続されるならばFORMATTEDになる。
RECL指定子(基本整変数)
整変数の値は、正の値を指定する。直接探査として接続されるファイルの場合、
その長さを指定し、順番探査として接続されるファイルの場合、その記録の
最大の長さを指定する。直接探査として接続される場合、必ず書かなければ
ならない。省略した場合は、使用するコンパイラに依存する。
BLANK指定子(基本文字式)
文字式の値は、NULLまたは、ZEROを指定する。BLANK指定子は、
書式付き入出力として接続されるファイルに対してだけ許される。
- NULLを指定すると数値書式の入力欄中の空白はすべて無視される。
ただし、すべて空白の場合は、ゼロとみなされる。
- ZEROを指定すると先行する空白以外の空白は、すべてゼロとみなされる。
- 省略するとNULLになる。
POSITION指定子(基本文字式)
文字式の値は、ASIS、REWINDまたは、APPENDを指定する。ファイルの
接続は順番探査でなければならない。ファイルが存在しなかった場合、
その始点に位置付けられる。
- REWINDを指定すると、存在するファイルの始点に位置付けられる。
- 存在するファイルにファイル終了記録が存在する場合にAPPENDを
指定すると、ファイル終了記録が直後記録となるように位置付けられる。
- ファイルが存在し、既に接続されている場合にASISを指定すると、
位置は変わらない。
ACTION指定子(基本文字式)
文字式の値は、READ、WRITEまたは、READWRITEを指定する。
- READは、WRITE文または、ENDFILE文がこの接続を参照してはならない
ことを指定する。
- WRITEは、READ文がこの接続を参照してはならないことを指定する。
- READWRITEは、任意の入出力文がこの接続を参照できることを指定する。
- 省略した場合は、使用するコンパイラに依存する。
DELIM指定子(基本文字式)
文字式の値は、APOSTROPHE,QUOTEまたは、NONEを指定する。
- APOSTROPHEを指定すると、並び書式または、変数群書式によって
書かれる文字定数を囲むのに、アポストロフィが用いられる。文字列中の
1つのアポストロフィは、連続する2つのアポストロフィで表現される。
- QUOTEを指定すると、並び書式または変数群書式によって書かれる
文字定数を囲むのに、引用符が用いられる。
- NONEを指定すると、書かれる文字定数は、アポストロフィまたは
引用符によって囲まれないし、文字列中のアポストロフィまたは引用符は、
連続する2つのアポストロフィまたは、連続する2つの引用符にはならない。
- 省略した場合は、NONEになる。
PAD指定子(基本文字式)
文字式の値は、YESまたは、NOを指定する。
- YESを指定した場合に、入力項目並びが指定され、書式仕様が記録に
含まれるより多くのデータを要求すると、書式付き入力記録に空白が補われる。
- NOを指定した場合には、入力項目並び及び書式仕様は、記録に含まれる
より多くの文字を要求してはならない。
- 省略した場合は、YESになる。
OPEN文の例
CHARACTER (LEN=9) :: file
file='test.data'
OPEN(9,FILE=file)
OPEN(UNIT=10,FILE='SIKEN.DAT')
WRITE(9,*) 'ABCD'
DO i=1,10
WRITE(10,*) i,'XYZ'
END DO