#include #include #include #include void printFile(const char *path, const int lvl); void dirTraveler(const char *startDir, const int lvl); int main() { dirTraveler(".",0); return 0; } void dirTraveler(const char *startDir, const int lvl) { char path[1000]; strcpy(path, startDir); DIR *dir=opendir(path); if(dir) { struct dirent *de = readdir(dir); while(de) { if(de->d_type == DT_REG && strstr(de->d_name,".txt")) { int path_len = strlen(path); strcat(path, "/"); strcat(path, de->d_name); printFile(path, lvl); path[path_len] = '\0'; } if(de->d_type == DT_DIR && 0!=strcmp(".", de->d_name) && 0!=strcmp("..", de->d_name)) { int path_len = strlen(path); strcat(path, "/"); strcat(path, de->d_name); dirTraveler(path, lvl+1); path[path_len] = '\0'; } de = readdir(dir); } } closedir(dir); } void printFile(const char *path, const int lvl) { int i; char s[100]; for(i=0;i