C++遍历文件夹下所有文件代码

代码语言:c++

所属分类:其他

代码描述:C++遍历文件夹下所有文件代码

代码标签: 遍历 所有 文件

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <dirent.h>
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>

using namespace std;

// 递归列出所有目录及文件
void recursion_scan_dir_file(char *dir, int depth)
{
        DIR *p_dir = NULL;
        struct dirent *p_entry = NULL;
        struct stat statbuf;


        if((p_dir = opendir(dir)) == NULL)
        {
                printf("can't open dir.\n");
                return;
        }

        chdir (dir);

        while(NULL != (p_entry = readdir(p_dir))) { // 获取下一级目录信息

                lstat(p_entry->d_name, &statbuf);   // 获取下一级成员属性

                if(S_IFDIR & statbuf.st_mode) {      // 判断下一级成员是否是目录  
                        if (strcmp(".", p_entry->d_name) == 0 || strcmp("..", p_entry->d_name) == 0)
                                continue;

                        printf("%*s%s/\n", depth, "", p_entry->d_name);
                        recursion_scan_dir_file(p_entry->d_name, depth+4); // 扫描下一级目录的内容
                } else {
                        printf("%*s%s\n", depth, "", p_entry->d_nam.........完整代码请登录后点击上方下载按钮下载查看

网友评论0