scandir(), alphasort() - Scandisce una directory per ricercare entry
#include int scandir(const char *pathname, 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);
La funzione scandir() scandisce la directory pathname eseguendo select() per ogni entry trovata. Le entri per cui select() ritorna un valore non-zero, sono immagazzinate in stringhe allocate tramite malloc(), ordinate usando qsort() ed impiegando per i confronti la funzione compar(), e raccolte in un array namelist allocato tramite malloc(). Nel caso che select() sia NULL, tutte le entry vengono selezionate.La funzione alphasort() puo' essere impiegata come funzione di confronto per la funzione scandir() per ordinare alfabeticamente le entry della directory
La funzione scandir() ritorna il numero delle entry selezionate o -1 in caso di errore.La funzione alphasort() ritorna un intero minore, o uguale, o maggiore di zero a seconda che il primo argomento sia considerato minore, o uguale, o maggiore del secondo.
BSD 4.3
/* stampa i files della directory corrente in ordine inverso */ #include main(){ struct dirent **namelist; int n; n = scandir(".", &namelist, 0, alphasort); if (n < 0) perror("scandir"); else while(n--) printf("%s\n", namelist[n]->d_name); }
opendir() readdir() closedir() rewinddir() seekdir() telldir()
Indice linguaggio C |
Indice librerie C |
Umberto Zappi Home Page |
Indice funzioni C |