opendir, fdopendir -
открывает
каталог
Standard C library (
libc,
-lc)
#include <sys/types.h>
#include <dirent.h>
DIR *opendir(const char *name);
DIR *fdopendir(int fd);
fdopendir():
Since glibc 2.10:
_POSIX_C_SOURCE >= 200809L
Before glibc 2.10:
_GNU_SOURCE
Функция
opendir()
открывает
поток
каталога,
соответствующий
каталогу с
именем
name, и
возвращает
указатель
на поток
каталога.
Поток
устанавливается
на первую
запись в
каталоге.
Функция
fdopendir()
похожа на
opendir(), но
возвращает
поток
каталога
для
каталога,
на который
ссылается
открытый
файловый
дескриптор
fd. После
успешного
вызова
fdopendir(),
дескриптор
fd
используется
только
внутри
реализации
и не должен
использоваться
в
приложении.
The
opendir() and
fdopendir() functions return a pointer to the
directory stream. On error, NULL is returned, and
errno is set to
indicate the error.
- EACCES
- Доступ
запрещен.
- EBADF
- Значение
fd не
является
подходящим
файловым
дескриптором,
открытым
для
чтения.
- EMFILE
- Было
достигнуто
ограничение
по
количеству
открытых
файловых
дескрипторов
на
процесс.
- ENFILE
- Достигнуто
максимальное
количество
открытых
файлов в
системе.
- ENOENT
- Каталог
не
существует,
либо name
содержит
пустую
строку.
- ENOMEM
- Недостаточно
памяти для
завершения
операции.
- ENOTDIR
- Значение
name не
является
каталогом.
fdopendir() is available since glibc 2.4.
Описание
терминов
данного
раздела
смотрите в
attributes(7).
Интерфейс |
Атрибут |
Значение |
opendir(), fdopendir() |
Безвредность
в нитях |
MT-Safe |
Функция
opendir()
присутствует
в SVr4, 4.3BSD и
описана в
стандарте
POSIX.1-2001. Функция
fdopendir() описана
в POSIX.1-2008.
Записи
имён
файлов
можно
читать из
потока
каталога с
помощью
readdir(3).
Задействованный
файловый
дескриптор
потока
каталога
может быть
получен в
помощью
dirfd(3).
Функция
opendir()
устанавливает
флаг close-on-exec для
файлового
дескриптора,
указывающего
на
DIR *.
Функция
fdopendir()
оставляет
флаг close-on-exec не
изменённым
для
файлового
дескриптора
fd. В POSIX.1-200x нет
точного
определения
на этот
счет, хотя
успешный
вызов
fdopendir()
установит
флаг close-on-exec для
файлового
дескриптора
fd.
open(2),
closedir(3),
dirfd(3),
readdir(3),
rewinddir(3),
scandir(3),
seekdir(3),
telldir(3)
Русский
перевод
этой
страницы
руководства
был сделан
Azamat Hackimov <
[email protected]>, Konstantin Shvaykovskiy
<
[email protected]>, Yuri Kozlov <
[email protected]> и
Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]