[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Операции над директориями

Библиотечные функции, перечисленные на странице руководства
directory(3C), используются для выполнения операций над директориями.
Функция opendir(3C) открывает файл-директорию. Она возвращает
указатель на структуру DIR, которая используется в качестве параметра
к readdir(3C), closedir(3C) и rewinddir(3C). Функция readdir(3C)
используется для чтения записей из директории. Она возвращает
указатель на структуру dirent, которая содержит следующую непустую
запись в директории, заданной с помощью dirp. Функция closedir(3C)
закрывает дескриптор директории, заданный параметром dirp, и
освобождает связанную с ним структуру. Функция rewinddir(3C)
перемещает позицию считывания к началу директории. telldir(2C)
возвращает текущую позицию. seekdir(3C) устанавливает эту позицию для
последующей операции readdir(3C).
Системный вызов getdents(2) был сделан специально для реализации
библиотечной функции readdir(3C). Справочное руководство программиста
ОС UNIX System V предлагает использовать для чтения записей
readdir(3C), поскольку эта функция совместима с другими системами.
                      ОПЕРАЦИИ НАД ДИРЕКТОРИЯМИ
directory(3C)

ИМЯ

      opendir, readdir, telldir, seekdir, rewinddir closedir -
      операции над директориями

ИСПОЛЬЗОВАНИЕ

      #include <dirent.h>

      DIR *opendir(const char *filename);
      struct dirent *readdir(DIR *dirp);

      long teldir(DIR *dirp);

      void seekdir(DIR *dirp, long loc);
      void rewinddir(DIR *dirp);

      int closedir(DIR *dirp);

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

      успех - opendir, readdir - указатель на структуру
             closedir - 0
             telldir - текущая позиция

      неуспех -
             opendir, readdir - NULL и errno установлена
             telldir, closedir - -1 и errno установлена