#include #include #include #include int main(int argc, char *argv[]) { DIR *d; char *dirs; struct dirent *dir; int hidden = 1; int c; while ((c = getopt(argc, argv, "a")) != -1) { switch (c) { case 'a': hidden = 0; break; } } if (argc > 0) { for (int i = 1; i < argc; i++) { dirs = argv[i]; if ((d = opendir(dirs))) { while ((dir = readdir(d)) != NULL) { if (strncmp(dir->d_name, ".", 1) != 0 && hidden) /* dont print hidden files */ printf("%s\n", dir->d_name); else if (!hidden) printf("%s\n", dir->d_name); } closedir(d); } } } }