Linux下c++遍历文件夹中文件及读取绝对路径

文件读取等操作是程序编写的基础,因此在总结了网上多个博客的基础上,写出了如下读取文件及保存绝对路径的代码片段,整理出来供大家学习
注意,这里dirent.h是只有在Linux下才有的

#include 
#include "fstream"  
#include 
#include 
#include 

    DIR * dir;
    struct dirent * ptr;
    char file_list[100][40];
    int i=0;
    char srcFile1[1][100];
    string rootdirPath = "/Users/XXX/Downloads/data/data2/";
    string x,dirPath;
    dir = opendir((char *)rootdirPath.c_str()); //打开一个目录
    while((ptr = readdir(dir)) != NULL) //循环读取目录数据
    {
        printf("d_name : %s\n", ptr->d_name); //输出文件名
        x=ptr->d_name;
        dirPath = rootdirPath + x;
        printf("d_name : %s\n", dirPath.c_str()); //输出文件绝对路径
//        x = dirPath.c_str();
        strcpy(srcFile1[i],dirPath.c_str()); //存储到数组

        if ( ++i>=100 ) break;
    }
    closedir(dir);//关闭目录指针

你可能感兴趣的:(语言)