Linguaggio C - scandir(), alphasort()

NOME

scandir(), alphasort() - Scandisce una directory per ricercare entry

SINOPSI

#include <dirent.h> 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);

DESCRIZIONE

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

VALORE DI RITORNO

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.

CONFORME A

BSD 4.3

ESEMPIO

/* stampa i files della directory corrente in ordine inverso */ #include <dirent.h> 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); }

VEDI ANCHE

opendir() readdir() closedir() rewinddir() seekdir() telldir()


Indice-C Indice linguaggio C
Indice librerie Indice librerie C
At Home Umberto Zappi Home Page
Indice funzioni Indice funzioni C