dirent.h

dirent.h

dirent.hзаголовочный файл, входящий в библиотеку C POSIX library для языка Си.

Функции-члены

Название Комментарии
int closedir(DIR *dirp) Закрывает поток папки, указанный аргументом dirp. При успешном завершении возвращается 0, в противном случае возвращается -1.
DIR* opendir(const char *dirname) Открывает поток папки, соответствующий папке с названием dirname. При успешном завершении возвращается указатель на объект типа DIR. В противном случае возвращается NULL.
struct dirent* readdir(DIR *dirp) Считывает текущий элемент потока папки и передвигает внутренний указатель потока папки на следующий элемент. В случае успеха возвращает указатель на структуру, представляющую собой элемент потока папки. При достижении конца потока папки возвращается NULL. В случае возникновения ошибки также возвращается NULL.
int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) Инициализирует структуру типа dirent, на которую ссылается entry так, что она представляет собой текущий элемент потока папки dirp, сохраняет указатель на эту структуру по адресу, определяемому параметром result и передвигает внутренний указатель потока папки на следующий элемент. При успешном завершении возвращается 0. В противном случае возвращается код ошибки.
void rewinddir(DIR *dirp) Сбрасывает внутренний указатель потока папки dirp так, что он начинает указывать на начало папки. Также обновляется состояние потока папки так же, как происходит при вызове opendir(). Возвращаемое значение отсутствует.
void seekdir(DIR *dirp, long int loc) Устанавливает внутренний указатель потока папки dirp на позицию loc. Значение loc должно быть получено предшествовавшим вызовом telldir(). Если между вызовами telldir() и seekdir() был произведен вызов rewinddir(), то поведение не определено. Возвращаемое значение отсутствует.
long int telldir(DIR *dirp) Возвращает текущую позицию внутреннего указателя потока папки dirp.

Все вышеописанные функции (кроме readdir_r) устанавливают errno при возникновении ошибки.

Примеры использования

#include <dirent.h>
#include <stdio.h>
 
int main (void) {
    DIR *dir;
    struct dirent *ent;
 
    char directory[255] = "./";
    dir = opendir(directory);
 
    while ((ent=readdir(dir)) != false) {
            printf("%s\n", ent->d_name);
    }
 
    closedir(dir);
    return 0;
}

Данная программа выведет имена всех файлов и каталогов из текущего каталога.

#include <errno.h>
#include <dirent.h>
#include <string.h>
 
#define FOUND      0
#define NOT_FOUND  1
#define READ_ERROR 2
#define OPEN_ERROR 3
#define NOARG      4
 
int main (int argc, char *argv []) {
        struct dirent *dp;
        DIR *dirp;
        const char *name;
 
        if (argc > 1) {
                name = argv [1];
        } else {
                return NOARG;
        }
 
        dirp = opendir(".");
 
        while (dirp) {
                errno = 0;
                if ((dp = readdir(dirp)) != NULL) {
                        if (strcmp(dp->d_name, name) == 0) {
                                closedir(dirp);
                                return FOUND;
                        }
                } else {
                        if (errno == 0) {
                                closedir(dirp);
                                return NOT_FOUND;
                        }
                        closedir(dirp);
                        return READ_ERROR;
                }
        }
 
        return OPEN_ERROR;
}

Данная программа проверяет наличие файла в текущей папке.

Константы-члены

Название Комментарии
NAME_MAX (or FILENAME_MAX)

Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "dirent.h" в других словарях:

  • Dirent.h — is the header in the C POSIX library for the C programming language that contains constructs that facilitate directory traversing. The function is not part of the C standard, but is considered pseudo standard and is reliably portable between… …   Wikipedia

  • dirent.h — C POSIX library assert.h complex.h ctype.h dirent.h dlfcn.h errno.h …   Wikipedia

  • dirent — 3 p.p. Pas. dire …   French Morphology and Phonetics

  • Christianisme et homosexualité — Homosexualité dans le christianisme La position du christianisme sur l homosexualité renvoie à la lecture spirituelle du rapport entre l Homme et sa sexualité. Le christianisme, à l instar des autres religions monothéistes, a toujours considéré l …   Wikipédia en Français

  • Chrétienté et homosexualité — Homosexualité dans le christianisme La position du christianisme sur l homosexualité renvoie à la lecture spirituelle du rapport entre l Homme et sa sexualité. Le christianisme, à l instar des autres religions monothéistes, a toujours considéré l …   Wikipédia en Français

  • Homosexualite dans le christianisme — Homosexualité dans le christianisme La position du christianisme sur l homosexualité renvoie à la lecture spirituelle du rapport entre l Homme et sa sexualité. Le christianisme, à l instar des autres religions monothéistes, a toujours considéré l …   Wikipédia en Français

  • Homosexualité dans la Bible — Homosexualité dans le christianisme La position du christianisme sur l homosexualité renvoie à la lecture spirituelle du rapport entre l Homme et sa sexualité. Le christianisme, à l instar des autres religions monothéistes, a toujours considéré l …   Wikipédia en Français

  • Homosexualité dans le Christianisme — La position du christianisme sur l homosexualité renvoie à la lecture spirituelle du rapport entre l Homme et sa sexualité. Le christianisme, à l instar des autres religions monothéistes, a toujours considéré l homosexualité comme un acte contre… …   Wikipédia en Français

  • Vision chretienne de l'homosexualité — Homosexualité dans le christianisme La position du christianisme sur l homosexualité renvoie à la lecture spirituelle du rapport entre l Homme et sa sexualité. Le christianisme, à l instar des autres religions monothéistes, a toujours considéré l …   Wikipédia en Français

  • Vision chrétienne de l'homosexualité — Homosexualité dans le christianisme La position du christianisme sur l homosexualité renvoie à la lecture spirituelle du rapport entre l Homme et sa sexualité. Le christianisme, à l instar des autres religions monothéistes, a toujours considéré l …   Wikipédia en Français


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»