GNU Info

Info Node: (libc.info)Simple Directory Lister Mark II

(libc.info)Simple Directory Lister Mark II


Prev: Scanning Directory Content Up: Accessing Directories
Enter node , (file) or (file)node

Simple Program to List a Directory, Mark II
-------------------------------------------

   Here is a revised version of the directory lister found above (Note:
Simple Directory Lister).  Using the `scandir' function we can avoid
the functions which work directly with the directory contents.  After
the call the returned entries are available for direct use.

     #include <stdio.h>
     #include <dirent.h>
     
     static int
     one (struct dirent *unused)
     {
       return 1;
     }
     
     int
     main (void)
     {
       struct dirent **eps;
       int n;
     
       n = scandir ("./", &eps, one, alphasort);
       if (n >= 0)
         {
           int cnt;
           for (cnt = 0; cnt < n; ++cnt)
             puts (eps[cnt]->d_name);
         }
       else
         perror ("Couldn't open the directory");
     
       return 0;
     }

   Note the simple selector function in this example.  Since we want to
see all directory entries we always return `1'.


automatically generated by info2www version 1.2.2.9