Main Page   Alphabetical List   Data Structures   File List   Data Fields   Globals   Examples  

test_dir.c

this file shows how to use read_directory() and free_file_list().

#include <stdio.h>
#include "my_dir.h"


int main (int argc, char *argv[])
{
  int               nb_files, i;
  struct file_list  flist;

  /* --------------------------------------------------- */
  /* Check the command line arguments                    */
  /* --------------------------------------------------- */

  if (argc != 2)
  {
    fprintf (stderr, "\nUsage: test_dir dir\n");
    return 1;
  }

  /* --------------------------------------------------- */
  /* List ALL entries of a given directory               */
  /* --------------------------------------------------- */

  nb_files = read_directory (argv[1], &flist);
  if (nb_files == -1)
  {
    fprintf (stderr, "\nread_directory() failed\n");
    return 1;
  }

  fprintf (stdout, "\nNumber of used entries:        %d", flist.num);
  fprintf (stdout, "\nNumber of allocated entries:   %d", flist.total_alloc);

  fprintf (stdout, "\nDirectory entries (all):"); 
  for (i=0; i<flist.num; i++)
  {
    fprintf (stdout, "\n -> %s", (flist.list)[i]);
    fflush (stdout);
  }

  free_file_list (&flist);
  
  /* --------------------------------------------------- */
  /* List ONLY sub directories                           */
  /* --------------------------------------------------- */

  nb_files = read_directory_only (argv[1], &flist);
  if (nb_files == -1)
  {
    fprintf (stderr, "\nread_directory_only() failed\n");
    return 1;
  }

  fprintf (stdout, "\nNumber of used entries:        %d", flist.num);
  fprintf (stdout, "\nNumber of allocated entries:   %d", flist.total_alloc);

  fprintf (stdout, "\nDirectory entries (sub directories only):");
  for (i=0; i<flist.num; i++)
  {
    fprintf (stdout, "\n -> %s", (flist.list)[i]);
    fflush (stdout);
  }

  free_file_list (&flist);



  return 0;
}





Generated on Thu Apr 3 16:23:40 2003 for Common_C_libraries by doxygen1.3-rc1