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