READDIR(3)

BEZEICHNUNG
readdir - Liest einen Verzeichniseintrag

Diese Handbuchseite ist eventuell veraltet. Im Zweifelsfall ziehen Sie die englischsprachige Handbuchseite zu Rate, indem Sie

    man -LC 3 readdir

eingeben.

ÜBERSICHT
#include <sys/types.h>

#include <dirent.h>

struct dirent *readdir(DIR *dir);

BESCHREIBUNG
Die readdir()-Funktion liefert einen Zeiger auf eine dirent-Struktur zurück, welcher auf den nächsten Verzeichniseintrag zeigt. Dir muss dabei auf eine Verzeichnisdatei ("directory stream") zeigen. Wenn das Dateiende erreicht wurde oder ein Fehler auftrat, dann wird ein NULL-Zeiger zurückgeliefert.

Wird readdir() mehrfach für ein Verzeichnis aufgerufen, dann überschreiben die nachfolgenden Aufrufe die Daten, die von den vorigen readdir()-Aufrufen zurückgeliefert wurden.

Die dirent-Struktur ist in <linux/dirent.h> folgendermaßen definiert:

    struct dirent {
            long            d_ino;		/* Inode Nummer */
            off_t           d_off;		/* Offset zum nächsten dirent */
            unsigned short  d_reclen;	/* Länge dieses Eintrags */
            char            d_name[NAME_MAX+1]; /* Dateiname */
    };

RÜCKGABEWERT
Die readdir()-Funktion liefert einen Zeiger auf eine dirent-Struktur zurück. Wenn das Dateiende erreicht wurde oder ein Fehler auftrat, dann wird ein NULL-Zeiger zurückgeliefert.

FEHLER

EBADF
    dir ist kein gültiger Zeiger auf eine Verzeichnisdatei.

KONFORM ZU
SVID 3, POSIX, BSD 4.3

SIEHE AUCH
read(2), opendir(3), closedir(3), rewinddir(3), seekdir(3), telldir(3), scandir(3).