Provided by: manpages-ru-dev_4.19.0-7_all bug

ИМЯ

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

LIBRARY

       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():
           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
       <azamat.hackimov@gmail.com>,  Konstantin  Shvaykovskiy  <kot.shv@gmail.com>,  Yuri  Kozlov
       <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

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