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

发布时间:2020-07-23 01:42:43 作者:神ge
来源:网络 阅读:409
#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;
}


推荐阅读:
  1. 怎么在Python中利用递归打印多重列表
  2. Python中如何通过递归获取目录下指定文件

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

打印 目录 递归

上一篇:老司机定制安装centos 8

下一篇:Java并发编程基本知识

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》