关闭

linux c 遍历文件

241人阅读 评论(0) 收藏 举报
 //for linux   
  • void findAllFile(char * pFilePath){   
  •     DIR * dir;   
  •     dirent * ptr;   
  •     struct stat stStatBuf;   
  •     chdir(pFilePath);   
  •     dir = opendir(pFilePath);   
  •     while ((ptr = readdir(dir)) != NULL){   
  •         if (stat(ptr->d_name, &stStatBuf) == -1){   
  •             printf("Get the stat error on file:%s\n", ptr->d_name);   
  •             continue;   
  •         }   
  •         if ((stStatBuf.st_mode & S_IFDIR) && strcmp(ptr->d_name, ".") != 0&& strcmp(ptr->d_name, "..") != 0){   
  •             char Path[MAX_PATH];   
  •             strcpy(Path, pFilePath);   
  •             strncat(Path, "/", 1);   
  •             strcat(Path, ptr->d_name);   
  •             findAllFile(Path);   
  •         }   
  •         if (stStatBuf.st_mode & S_IFREG){   
  •             printf(" %s\n", ptr->d_name);   
  •         }   
  •         //this must change the directory , for maybe changed in the recured function   
  •         chdir(pFilePath);   
  •     }   
  •     closedir(dir);   
  • }  
  • 0
    0

    查看评论
    * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
      个人资料
      • 访问:114608次
      • 积分:1261
      • 等级:
      • 排名:千里之外
      • 原创:51篇
      • 转载:90篇
      • 译文:0篇
      • 评论:2条
      最新评论