dirent.h
Wygląd
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
[edytuj | edytuj kod]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 obiektustruct 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
[edytuj | edytuj kod]Zmienna | Opis |
---|---|
NAME_MAX (lub FILENAME_MAX ) |
maksymalny rozmiar tablicy d_name
|
Typy danych
[edytuj | edytuj kod]W pliku dirent.h
istnieją następujące definicje:
DIR
– struktura reprezentująca strumień katalogowystruct dirent
– struktura, która zawiera:ino_t d_ino
– numer i-węzła plikuchar d_name[]
– nazwa pliku
Na niektórych platformach, struktura struct dirent
może mieć także:
off_t d_off
– offset plikuunsigned short int d_reclen
– rozmiar strukturyunsigned short int d_namlen
– długość polad_name
unsigned int d_type
– typ pliku
Bibliografia
[edytuj | edytuj kod]- Implementacja dirent.h dla systemów Windows – Dirent API for Microsoft Visual Studio. Softgalleria.net. [dostęp 2012-06-26]. (ang.).
- Specyfikacja OpenGroup biblioteki dirent.h – dirent.h. opengroup.org. [dostęp 2012-06-26]. (ang.).
- Specyfikacja GNU biblioteki dirent.h – dirent. delorie.com. [dostęp 2012-06-26]. (ang.).