#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
int main(void) {
struct dirent **namelist;
int n;
n = scandir(".", &namelist, 0, alphasort);
if (n < 0) perror("scandir");
while (n-- > 0) {
printf("%s\n", namelist[n]->d_name);
free(namelist[n]);
}
free(namelist);
return 0;
}
$ gcc demo.c -o demo