#include #include #include #include int ls(const char * path) { DIR * dir; if (NULL == (dir = opendir(path))) { perror(path); return 1; } struct dirent * entry; while (NULL != (entry = readdir(dir))) printf("%s\n", entry->d_name); closedir(dir); return 0; } int main(int argc, char * argv[]) { int res = 0; if (argc == 1) res |= ls("."); for (int i = 1; i < argc; ++i) res |= ls(argv[i]); return res; }