码迷,mamicode.com
首页 > 其他好文 > 详细

uc中递归打印目录下的文件

时间:2016-11-12 02:39:55      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:递归打印目录下的文件名. opendir readdir

#include <stdio.h>                                                              
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <dirent.h>
#include <iostream>
using namespace std;

void print(const char* path){
    DIR* dir = opendir(path);
    if(NULL == dir){
        return ;
    }
    struct dirent* ent;
    while(ent=readdir(dir),ent){//注意逗号表达式.
        if(4 == ent->d_type){
            printf("[%s]\n",ent->d_name);
            if(!strcmp(ent->d_name,".")||!strcmp(ent->d_name,"..")){
                continue;
            }
            char buf[100]={0};
            sprintf(buf,"%s/%se",path,ent->d_name);
            print(buf);//这里递归.
        }
        if(8 == ent->d_type){
            printf("%s\n",ent->d_name);
        }
    }
    int res = closedir(dir);
    if(-1 == res){
        return;
    }
}
int main(void){
    print("./");
    return 0;
}


本文出自 “12208412” 博客,请务必保留此出处http://12218412.blog.51cto.com/12208412/1871930

uc中递归打印目录下的文件

标签:递归打印目录下的文件名. opendir readdir

原文地址:http://12218412.blog.51cto.com/12208412/1871930

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!