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