NAG Fortran コンパイラ 7.0 マニュアル

 
ナビゲーション:前へ   上へ   次へ

7.3 f90_unix_dirent

このモジュールは ISO/IEC 9945-1:1990 Portable Operating System Interface (POSIX) - Part 1: System Application Program Interface (API) [C Language] で詳細に規定される機能に対するFortran APIの一部を提供するものです。

このモジュール中の関数はセクション 5.1.2 ディレクトリ操作 に由来するものです。

エラー処理についてはF90_UNIX_ERRNOに記述されています。 省略可能なERRNO引数を用いた手続きに対し、エラーが生じERRNO が存在しなかった場合には、プログラムは終了させられる点に注意してください。

このモジュール中のすべての手続きは個別であり、総称的なものではありません。

7.3.1 手続き

個々の手続きの記述において、KINDが‘*’と表記されている引数はその 種別の任意の値を受け入れることができます。 他のKIND表示にはF90_KINDまたはF90_UNIX_ERRNOモジュールで 規定されている名前付きパラメータが使用されています。しかしこれらの名前付きパラ メータはF90_UNIX_DIRENTからエクスポートされていません。

  SUBROUTINE CLOSEDIR(DIRUNIT,ERRNO)
  INTEGER(*),INTENT(IN) :: DIRUNIT
  INTEGER(error_kind),OPTIONAL,INTENT(OUT) :: ERRNO
OPENDIRによってオープンされたディレクトリストリームをクローズします。

DIRUNITがオープンされているディレクトリストリームを参照していない場 合には、エラーEBADFF90_UNIX_ERRNO参照)が発生します。

  SUBROUTINE OPENDIR(DIRNAME,DIRUNIT,ERRNO)
  CHARACTER(*),INTENT(IN) :: DIRNAME
  INTEGER(*),INTENT(OUT) :: DIRUNIT
  INTEGER(error_kind),OPTIONAL,INTENT(OUT) :: ERRNO
ディレクトリストリームをオープンし、それに対するハンドルをDIRUNIT中 に返します。

起りうるエラーにはEACCES, ENAMETOOLONG, ENOENT, ENOTDIR, EMFILE, ENFILEがあります (F90_UNIX_ERRNO参照)。

  SUBROUTINE READDIR(DIRUNIT,NAME,LENNAME,ERRNO)
  INTEGER(*),INTENT(IN) :: DIRUNIT
  CHARACTER(*),INTENT(OUT) :: NAME
  INTEGER(int32 or int64),INTENT(OUT) :: LENNAME
  INTEGER(error_kind),OPTIONAL,INTENT(OUT) :: ERRNO

最初の/次のディレクトリエントリを読みます。 ファイルの名称はNAME中にセットされます。その際、ファイル名称の長さが LEN(NAME)と異なった場合には、空白の追加、あるいは切取りが適宜行われま す。 ファイル名称の長さはLEN(NAME)中にセットされます。

ディレクトリエントリがそれ以上なくなった場合にはNAMEの内容は変わらず、 LENNAMEの値が負となります。

DIRUNITOPENDIRによって生成されたディレクトリストリームハンド ルでない場合、あるいはCLOSEDIRによってクローズされてしまっている場合、 エラーEBADFF90_UNIX_ERRNO参照)が発生します。

  SUBROUTINE REWINDDIR(DIRUNIT,ERRNO)
  INTEGER(*),INTENT(IN) :: DIRUNIT
  INTEGER(error_kind),OPTIONAL,INTENT(OUT) :: ERRNO
ディレクトリストリームをリワインドします。従ってそのストリーム上で READDIRへの次のコールが発行された場合には、ディレクトリ中の最初のファ イル名が応答として返されることになります。
Privacy Policy  /  Trademarks