opendir(3)

открывает каталог · man3 · Русский

opendir(3) Library Functions Manual opendir(3)

opendir, fdopendir - открывает каталог

Standard C library (libc, -lc)

#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:
        _BSD_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.

Доступ запрещен.
Значение fd не является подходящим файловым дескриптором, открытым для чтения.
Было достигнуто ограничение по количеству открытых файловых дескрипторов на процесс.
Достигнуто максимальное количество открытых файлов в системе.
Каталог не существует, либо name содержит пустую строку.
Недостаточно памяти для завершения операции.
Значение 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 <azamat.hackimov@gmail.com>, Konstantin Shvaykovskiy <kot.shv@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.

15 декабря 2022 г. Linux man-pages 6.03