How do you scan a directory for folders and files in C? It needs to be cross-platform.
The following POSIX program will print the names of the files in the current directory:
#define _XOPEN_SOURCE 700 #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 perror ("Couldn't open the directory"); return 0; }
Credit: http://www.gnu.org/software/libtool/manual/libc/Simple-Directory-Lister.html
Tested in Ubuntu 16.04.
2.1m questions
2.1m answers
60 comments
57.0k users