"Fossies" - the Fresh Open Source Software archive 
Table of Contents
scandir, alphasort - durchsucht
ein Verzeichnis nach passenden EintrÀgen
#include <dirent.h>
int scandir(const char *dir, struct dirent ***namelist,int (*select)(const
struct dirent *),int (*compar)(const struct dirent *, const struct dirent
*));
int alphasort(const struct dirent *a, const struct dirent *b);
Die
scandir()-Funktion durchsucht das Verzeichnis dir und ruft fĂ¼r jeden Verzeichniseintrag
select() auf. Die EintrĂ€ge, bei denen select() einen Wert ungleich 0 zurĂ¼ckliefert
werden in Strings gespeichert. Der Speicher wird dabei mit malloc() reserviert.
Danach werden die Strings mit sort() sortiert wobei die Vergleichsroutine
compar() benutzt wird. Am Schluss werden die Strings im Array namelist gespeichert,
dessen Speicher ebenfalls mit malloc() reserviert wird.
Die alphasort()-Funktion
kann als Vergleichsroutine fĂ¼r die scandir()-Funktion benutzt werden um
die VerzeichniseintrÀge alphabetisch zu sortieren. Die Parameter sind die
beiden VerzeichniseintrÀge a und b die verglichen werden sollen.
Die
scandir()-Funktion liefert die Anzahl gelesener VerzeichniseintrÀge oder
-1 im Fehlerfall zurĂ¼ck.
Die alphasort()-Funktion liefert eine Zahl kleiner
0 zurĂ¼ck wenn das erste Argument im Alphabet vor dem zweiten Argument kommt,
genau 0 wenn beide gleich sind und eine Zahl gröĂer 0 wenn das erste
Argument im Alphabet nach dem zweiten Argument kommt.
- ENOMEM
- Zu wenig
Speicher um den Vorgang zu beenden.
BSD 4.3
opendir(3),
readdir(3), closedir(3), rewinddir(3), telldir(3), seekdir(3).
Table of Contents