OPENDIR

Section: Linux Programmer's Manual (3)
Updated: 2008-08-06
Index JM Home Page roff page
 

名前

opendir, fdopendir - ディレクトリをオープンする  

書式

#include <sys/types.h>

#include <dirent.h> DIR *opendir(const char *name); DIR *fdopendir(int fd);
 

説明

opendir() 関数はディレクトリ name に対応する ディレクトリストリームをオープンし、そのストリームへのポインタを返す。 ストリームの位置はディレクトリの先頭のエントリに設定される。

fdopendir() 関数は opendir() と同様だが、オープン済みのファイルディスクリプタ fd により参照されるディレクトリに対する ディレクトリストリームを返す。 fdopendir() の呼び出しが成功した後は、 fd は実装の内部で使用される。アプリケーションは fd を他の場面で使用すべきではない。  

返り値

関数 opendir() と fdopendir() はディレクトリストリームへのポインタを返す。 エラーの場合は、NULL が返されて、 errno が適切に設定される。  

エラー

EACCES
アクセス権限がない。
EBADF
fd が読み出し用にオープンされた、有効なファイルディスクリプタではない。
EMFILE
プロセスが使用中のファイルディスクリプタが多すぎる。
ENFILE
システムでオープンされているファイルが多すぎる。
ENOENT
ディレクトリが存在しないか、または name が空文字列である。
ENOMEM
命令を実行するのに充分なメモリがない。
ENOTDIR
name はディレクトリではない。
 

バージョン

fdopendir() は glibc 2.4 以降で利用可能である。  

準拠

opendir() は SVr4 と 4.3BSD に存在し、 POSIX.1-2001 で規定されている。 fdopendir() は POSIX.1-2008 で規定されている。  

注意

ディレクトリストリームに対応するファイルディスクリプタは dirfd(3) を使用して得ることができる。

opendir() 関数は、 DIR * の背後にあるファイルディスクリプタの close-on-exec フラグを設定する。 fdopendir() 関数は、ファイルディスクリプタの close-on-exec フラグの設定を変更しない。 fdopendir() の呼び出しが成功した際に、ファイルディスクリプタ fd の close-on-exec を設定するかどうかは、 POSIX.1-200x では規定されていない。  

関連項目

open(2), closedir(3), dirfd(3), readdir(3), rewinddir(3), scandir(3), seekdir(3), telldir(3)


 

Index

名前
書式
説明
返り値
エラー
バージョン
準拠
注意
関連項目

This document was created by man2html, using the manual pages.
Time: 03:26:50 GMT, April 25, 2010