SCANDIR(3) Manuel du programmeur Linux SCANDIR(3)
NOM
scandir, alphasort - Sélectionner des éléments d'un réper
toire.
SYNOPSIS
#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);
DESCRIPTION
La fonction scandir() examine le répertoire dir, en
appelant select() pour chaque élément rencontré. Les
entrées pour lesquelles select() renvoie une valeur non-
nulle sont stockées dans une table allouée avec malloc(),
triée avec qsort() en utilisant la fonction de comparaison
compar(), puis regroupées dans une table namelist allouée
avec malloc(). Si select est NULL, toutes les entrées
sont sélectionnées.
La fonction alphasort() peut être utilisée comme fonction
de comparaison dans la fonction scandir() pour trier les
entrées du répertoire en ordre alphabétique. Ses
paramètres sont deux éléments de répertoire à comparer, a
et b.
VALEUR RENVOYÉE
La fonction scandir() renvoie le nombre d'entrées de
repertoire selectionnées ou -1 en cas d'erreur.
La fonction alphasort() renvoie un entier négatif, nul, ou
positif si le premier argument est respectivement
inférieur, égal ou supérieur au second.
ERREURS
ENOMEM Pas assez de mémoire.
CONFORMITÉ
BSD 4.3
EXEMPLE
/* Afficher le contenu du répertoire en ordre inverse */
#include <dirent.h>
main(){
struct dirent **namelist;
int n;
n = scandir(".", &namelist, 0, alphasort);
if (n < 0)
perror("scandir");
else
GNU 7 Novembre 1996 1
SCANDIR(3) Manuel du programmeur Linux SCANDIR(3)
while(n--) printf("%s\n", namelist[n]->d_name);
}
VOIR AUSSI
opendir(3), readdir(3), closedir(3), rewinddir(3),
telldir(3), seekdir(3).
TRADUCTION
Christophe Blaess, 1997.
GNU 7 Novembre 1996 2