dirent.h – plik nagłówkowy w bibliotece POSIX języka C. Udostępnia funkcje, makra, i struktury, które umożliwiają łatwe trawersowanie katalogów.
Funkcje int closedir(DIR* dirp) Zamyka strumień katalogowy dirp. Po prawidłowym wykonaniu, funkcja zwraca wartość 0, inaczej zwraca -1 i zapisuje kod błędu w zmiennej errno.
DIR* opendir(const char* dirname) Otwiera strumień do katalogu znajdującego się pod ścieżką dirname. Po prawidłowym wykonaniu, opendir() zwraca wskaźnik do obiektu typu DIR, inaczej zwraca NULL.
struct dirent* readdir(DIR* dirp) Zwraca wskaźnik do struktury reprezentującej plik w obecnej pozycji w strumieniu dirp i awansuje pozycję na następny plik w kolejce. Zwrócony wskaźnik do obiektu struct dirrent nie powinien być zwolniony. Jeśli nie ma już więcej plików w katalogu, wartość NULL jest zwrócona. Gdy wystąpi błąd, wartość NULL także jest zwrócona i powód jest zapisany w zmiennej errno.
int readdir_r(DIR* dirp, struct dirent* entry, struct dirent** result)
void rewinddir(DIR* dirp) Ustawia strumień katalogowy na początek.
void seekdir(DIR* dirp, long int loc) Zmienia pozycję strumienia katalogowego.
long int telldir(DIR* dirp) Zwraca aktualną pozycję w strumieniu katalogowym.
Zmienne Zmienna Opis NAME_MAX (lub FILENAME_MAX) maksymalny rozmiar tablicy d_name
Typy danych W pliku dirent.h istnieją następujące definicje: DIR – struktura reprezentująca strumień katalogowy struct dirent – struktura, która zawiera: ino_t d_ino – numer i-węzła pliku char d_name[] – nazwa pliku
Na niektórych platformach, struktura struct dirent może mieć także: off_t d_off – offset pliku unsigned short int d_reclen – rozmiar struktury unsigned short int d_namlen – długość pola d_name unsigned int d_type – typ pliku
Bibliografia
Implementacja dirent.h dla systemów Windows – Specyfikacja OpenGroup biblioteki dirent.h – Specyfikacja GNU biblioteki dirent.h –
Kategoria:C (język programowania)