How to decide the file type in Cygwin?

Yang, Huaichen huaichen.yang@cirrus.com
Tue Mar 25 01:34:00 GMT 2003


I need to list all files in a folder (including sub-folder,
recursively), and I tried some sample codes in GNU C manual, as
follows:

/***********************/
#include <stddef.h>
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>

int
main (void)
{
  DIR *dp;
  struct dirent *ep;

  dp = opendir ("./");
  if (dp != NULL)
    {
      while (ep = readdir (dp))
        puts (ep->d_name);
      (void) closedir (dp);
    }
  else
    puts ("Couldn't open the directory.");

  return 0;
}
/***********************/

The sample was working. Then I added some codes to check the
ep->d_type (the type of the file). If it was a directory, the
program would check the sub-folder recursively. However, I
encountered a compiler error. The property d_type was not defined
in the Cygwin header file dirent.h. It seems that we cannot
distinguish the files from the directories. Is that true? Doesn't
anybody have a good idea to do this?

Thank you very much in adavance!


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list