美文网首页C++
C++获取指定目录文件列表

C++获取指定目录文件列表

作者: 刘千予 | 来源:发表于2018-07-01 11:30 被阅读0次

    #include<iostream>

    #include<string>

    #include<vector>

    #include<fstream>

    #include<io.h>

    #include<direct.h>

    /******************************************************************************************

    Function: GetFiles

    Description: 获取文件列表

    Input: folder_path:文件夹路径

    Output: files:用于保存文件路径的数组

    *******************************************************************************************/

    void GetFiles(std::string folder_path, std::vector& files)

    {

    //文件句柄

    //intptr_t hFile = 0;//Win10

    long hFile = 0;

    //文件信息 

    struct _finddata_t fileinfo;

    std::string p;

    try

    {

    if ((hFile = _findfirst(p.assign(folder_path).append("\\*").c_str(), &fileinfo)) != -1)

    {

    do

    {

    //如果是目录,迭代之 

    //如果不是,加入列表 

    if ((fileinfo.attrib &  _A_SUBDIR))

    {

    if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0)

    GetFiles(p.assign(folder_path).append("\\").append(fileinfo.name), files);

    }

    else

    {

    files.push_back(p.assign(folder_path).append("\\").append(fileinfo.name));

    }

    } while (_findnext(hFile, &fileinfo) == 0);

    _findclose(hFile);

    }

    }

    catch (std::exception e)

    {

    }

    }

    相关文章

      网友评论

        本文标题:C++获取指定目录文件列表

        本文链接:https://www.haomeiwen.com/subject/btucuftx.html