Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <dirent.h>
- #include <string.h>
- void print_path(int recur, DIR *dirp)
- {
- struct dirent *dptr;
- while (1)
- {
- dptr = readdir(dirp);
- if (!dptr)
- return;
- printf("%s\n", dptr->d_name);
- if (recur == 1)
- {
- char buff[256];
- if (strcmp(dptr->d_name, ".") == 0 && dptr->d_name == "..")
- continue;
- if (dptr && dptr->d_name != "." && dptr->d_name != "..")
- if (dptr->d_type == DT_DIR)
- {
- DIR *dirp1 = opendir(dptr->d_name);
- print_path(1, dirp1);
- // printf("dir : %s\n", dptr->d_name);
- closedir(dirp1);
- }
- }
- // printf("%d\n",dptr->d_type);
- // printf("%s\n", dptr->d_name);
- }
- }
- int main()
- {
- char buff[256];
- DIR *dirpath;
- struct dirent *dptr;
- scanf("%s", buff);
- if ((dirpath = opendir(buff)) == NULL)
- {
- printf("%s", "wrong path");
- exit(0);
- }
- else
- {
- dptr = readdir(dirpath);
- print_path(1, dirpath);
- // while(dptr=readdir(dirpath)){
- // while (1)
- // {
- // dptr = readdir(dirpath);
- // if (!dptr)
- // break;
- // printf("%s\n", dptr->d_name);
- // dptr++;
- // }
- closedir(dirpath);
- }
- }
Add Comment
Please, Sign In to add comment