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