This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

How to decide the file type in Cygwin?


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]