/* listfiles.c by detour@metalshell.com
*
* List sorted contents of a directory excluding '.' and
* '..'.
*
* http://www.metalshell.com
*
*/
#include <sys/dir.h>
#include <stdio.h>
#include <dirent.h>
int dir_filter(const struct direct *entry) {
if ((strcmp(entry->d_name, ".") == 0) ||
(strcmp(entry->d_name, "..") == 0))
return 0;
return 1;
}
int dir_read(const char *dir) {
struct direct **files;
int nfiles, x;
int dir_filter(const struct direct *entry);
nfiles = scandir(dir, &files, dir_filter, alphasort);
if(nfiles <= 0)
return 0;
for(x=0;x<nfiles;x++)
fprintf(stdout, "File: %s\n", files[x]->d_name);
return 1;
}
int main() {
dir_read("/tmp");
return 0;
}
|