INQUIRE文
copyright

green dotINQUIRE文

特定の名前付きファイルの性質または、特定の装置の接続の性質に ついて問い合わせるのに用いる。INQUIRE文には、3つの形式がある。
  1. FILE指定子を使用するファイルINQUIRE文
  2. UNIT指定子を使用する装置INQUIRE文
  3. IOLENGTH指定子だけを使用する入力項目並びINQUIRE文

  INQUIRE (問合わせ指定子並び)
  INQUIRE (IOLENGTH=基本整変数)

                                                              
 [問合わせ指定子]                                           
    [UNIT=] 外部ファイル装置                                 
    FILE= ファイル名記述                                     
   IOSTAT= 基本整変数                                       
   ERR= 文番号                                              
   EXIST= 基本整変数                                        
   OPENED= 基本論理変数                                     
    NUMBER= 基本整変数                                       
    NAMED= 基本論理変数                                      
    NAME= 基本文字変数                                       
    ACCESS= 基本文字変数 [SEQUENTIAL,DIRECT,UNDEFINED]       
    SEQUENTIAL= 基本文字変数 [YES,NO,UNKNOWN]                
    DIRECT= 基本文字変数 [YES,NO,UNKNOWN]                    
    FORM= 基本文字変数  [FORMATTED,UNFORMATTED,UNDEFINED]    
    FORMATTED= 基本文字変数 [YES,NO,UNKNOWN]                 
    UNFORMATTED= 基本文字変数 [YES,NO,UNKNOWN]               
    RECL= 基本整変数                                         
    NEXTREC= 基本整変数                                      
    BLANK= 基本文字変数 [ZERO,NULL,UNDEFINED]                
    POSITION= 基本文字変数 [REWIND,APPEND,ASIS,UNDEFINED]    
    ACTION= 基本文字変数 [READ,WRITE,READWRITE,UNDEFINED]    
    READ= 基本文字変数 [YES,NO,UNKNOWN]                      
    WRITE= 基本文字変数 [YES,NO,UNKNOWN]                     
    READWRITE= 基本文字変数 [YES,NO,UNKNOWN]                 
    DELIM= 基本文字変数 [APOSTOROPHE,QUOTE,,UNDEFINED]       
    PAD= 基本文字変数 [YES,NO]                               
                                                               
 (注)[ ]は、INQUIRE文を実行したときに戻される文字の値である。

green dotFILE指定子(ファイル名)

問い合わせるファイルの名前を指定する。ファイルは存在する必要はない。

green dotIOSTAT指定子(基本整変数)

入出力と同じである。

green dotERR指定子(文番号)

入出力と同じである。

green dotEXIST指定子(基本論理変数)

ファイルINQUIREを実行すると、指定された名前のファイルが存在し する場合、EXIST指定子の基本論理変数に、真の値が代入される。 存在しない場合、偽の値が代入される。
 装置INQUIRE文を実行すると、指定した装置が存在する場合、真の値が 代入される。存在しない場合、偽の値が代入される。

green dotOPENED指定子(基本論理変数)

ファイルINQUIRE文を実行すると、指定したファイルが装置に 接続されている場合、OPENED指定子の基本論理変数に、真の値が代入される。 接続されていない場合、偽の値が代入される。
 装置INQUIRE文を実行すると、指定した装置がファイルに 接続されている場合、真の値が代入される。接続されていない場合、 偽の値が代入される。

green dotNUMBER指定子(基本整変数)

ファイルが現在接続されている装置の外部装置識別子の値が代入される。 そのファイルに接続されている装置が存在しない場合、-1が代入される。

green dotNAMED指定子(基本論理変数)

ファイルが名前をもつ場合、真の値が代入される。名前をもたない場合、 偽の値が代入される。

green dotNAME指定子(基本文字変数)

ファイルが名前をもつ場合、ファイルの名前の値が代入される。 名前をもたない場合、不定となる。
 ファイルINQUIRE文に指定した場合、その値は、FILE指定子で与えられた ものと同じであるとは限らない。たとえば、コンパイラは、利用者識別番号で 修飾された値を返すかもしれない。しかし、その値は、OPEN文のFILE指定子の ファイル名記述式の値として利用できるものでなければならない。

green dotACCESS指定子(基本文字変数)

そのファイルが順番探査として接続されている場合、SEQUENTIALが代入される。 直接探査として接続されている場合、DIRECTが代入される。
接続されていない場合、UNDEFINEDが代入される。

green dotSEQUENTIAL指定子(基本文字変数)

そのファイルが順次検索として開くことができる場合は、YESが代入される。 できない場合、NOが代入される。コンパイラが決定できない場合、 UNKNOWNが代入される。

green dotDIRECT指定子(基本文字変数)

そのファイルが直接検索として開くことができる場合は、YESが代入される。 できない場合、NOが代入される。コンパイラが決定できない場合、 UNKNOWNが代入される。

green dotFORM指定子(基本文字変数)

そのファイルが書式付き入出力として接続されている場合、FORMATTEDが 代入される。書式なし入出力として接続されている場合、UNFORMATTEDが 代入される。 接続されていない場合、UNDEFINEDが代入される。

green dotFORMATTED指定子(基本文字変数)

そのファイルの書式付きとして開くことができる場合は、YESが代入される。 できない場合、NOが代入される。コンパイラが決定できない場合、 UNKNOWNが代入される。

green dotUNFORMATTED指定子(基本文字変数)

そのファイルが書式なしとして開くことができる場合、YESが代入される。 できない場合、NOが代入される。コンパイラが決定できない場合、 UNKNOWNが代入される。

green dotRECL指定子(基本整変数)

直接探査として接続されているファイルのレコード長の値または、順番探査と して接続されているファイルの最大のレコード長の値が代入される。

green dotNEXTREC指定子(基本整変数)

直接探査として接続されているファイルにおいて、直前に読まれた又は 書かれた記録番号をnとして、n+1の値が代入される。
ファイルが接続されていて、かつ、接続されて以後読み書きされた記録が ない場合、基本整変数には、1が代入される。

green dotBLANK指定子(基本文字変数)

書式付き入出力として接続されているファイルに対して空白無視制御が 有効な場合、NULLが代入される。空白ゼロ制御が有効な場合、ZEROが 代入される。接続されていない場合及び書式付き入出力以外で接続され ている場合UNDEFINEDが代入される。

green dotPOSITION指定子(基本文字変数)

OPEN文によって始点に位置付けられるように接続されているファイルの場合、 REWINDが代入される。OPEN文によってファイル終了記録の直前又は終点に 位置付けられるように接続されているファイルの場合、APPENDが代入される。 OPEN文によってその位置を変えることなしに接続されている場合、 ASISが代入される。接続されていない場合及び直接探査として 接続されている場合、UNDEFINEDが代入される。

green dotACTION指定子(基本文字変数)

ファイルが入力専用として接続されている場合、READが代入される。 出力専用として接続されている場合、WRITEが代入される。入力と出力の両方が 可能であるとして接続されている場合、READWRITEが代入される。 接続されていない場合、UNDEFINEDが代入される。

green dotREAD指定子(基本文字変数)

ファイルがREADとして開くことができる場合は、YESが代入される。 できない場合、NOが代入される。コンパイラが決定できない場合、UNKNOWNが 代入される。

green dotWRITE指定子(基本文字変数)

ファイルがWRITEとして開くことができる場合は、YESが代入される。 できない場合、NOが代入される。コンパイラが決定できない場合、UNKNOWNが 代入される。

green dotREADWRITE指定子(基本文字変数)

ファイルがREADWRITEとして開くことができる場合は、YESが代入される。 できない場合、NOが代入される。コンパイラが決定できない場合、 UNKNOWNが代入される。

green dotDELIM指定子(基本文字変数)

並び書式又は変数群書式によって書かれる文字データを囲むのに アポストロフイが使用される場合、APOSTOROPHEが代入される。それらの データを囲むのに引用符が使用される場合、QOPTEが代入される。文字データを 囲むのにそのどちらも使用されない場合、NONEが代入される。 接続されていない場合及び書式付き入出力以外で接続されている場合、 UNDEFINEDが代入される。

green dotPAD指定子(基本文字変数)

装置番号で指定されるファイルがPAD指定子としてNOをもつ場合、NOが 代入される。そうでない場合、YESが代入される。

green dotファイルINQUIRE文

ファイルINQUIRE文の問合わせ指定子並びは、FILE指定子を必ず1つだけ 含まなければならず、UNIT指定子を含んではならない。装置INQUIRE文 の問合わせ指定子並びは、UNIT指定子を必ず1つだけ含まなければならず、 FILE指定子を含んではならない。

green dot出力並びINQUIRE文

出力並びINQUIRE文は、FILE指定子及びUNIT指定子を含まず、 1つのIOLENGTH指定子と出力項目並びだけを含む。
IOLENGTH指定子のスカラ基本整変数には、指定した出力項目並びだけを もつ書式なし出力文を実行した結果、生成される記録の記録長が代入される。 その値は、同じ並びを入力項目並び又は出力項目並びとしてもつ入出力文が あるファイルを、書式なし直接探査として接続するOPEN文において、 RECL指定子の値として利用できるものでなければならない。
[例]
次のINQUIRE文を実行すると各変数は次のような値になる。 ただし、'test.data 'ファイルがすでに存在する場合の例である。
  open=T、fn='test.data '、acc='SEQUENTIAL'、dir='NO        '
  CHARACTER (LEN=10) :: fn,acc,dir
  LOGICAL :: open
  OPEN (8,IOSTAT=IOS,FILE='test.data',STATUS='OLD',  &
     ACCESS='SEQUENTIAL')
  INQUIRE(8,OPENED=open,NAME=fn,ACCESS=acc,DIRECT=dir)
  WRITE(*,*) open,fn,acc,seq
line-end