OPENDIR

Section: Linux Programmer's Manual (3)
Updated: 2017-09-15
Index JM Home Page
 

名前

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

書式

#include <sys/types.h>
#include <dirent.h>

DIR *opendir(const char *name);
DIR *fdopendir(int fd);

glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):

fdopendir():

glibc 2.10 以降:
_POSIX_C_SOURCE >= 200809L
glibc 2.10 より前:
_GNU_SOURCE
 

説明

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 以降で利用可能である。  

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性 値
opendir(), fdopendir() Thread safety MT-Safe
 

準拠

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

注意

ファイル名エントリーをディレクトリストリームから読み込むには readdir(3) を使用する。

ディレクトリストリームに対応するファイルディスクリプターは 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)  

この文書について

この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

関連キーワード

ストリーム   オープン   規定   opendir   fdopendir   ポインター   エントリー   成功   上限   フラグ   types   dirent   検査   マクロ   要件   macros   実装   内部   アプリケーション   場面   権限   単位   総数   全体   操作

Linux マニュアル 一覧

関連するコマンド・関数

opendir.3   dirfd.3   fflush.3   stderr.3   stdin.3   stdout.3
 

Index

名前
書式
説明
返り値
エラー
バージョン
属性
準拠
注意
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:24 GMT, October 11, 2026