欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C++ 获取文件下的所有文件的名字

程序员文章站 2022-04-08 10:34:50
#include #include #include #i...
#include<iostream>
#include<opencv2\opencv.hpp>
#include<string>
#include<vector>

using namespace std;
using namespace cv;
void getFiles(string path, vector<string>& files)
{
    //文件句柄  
    long   hFile = 0;
    //文件信息  
    struct _finddata_t fileinfo;
    string p;
    if ((hFile = _findfirst(p.assign(path).append("\\*").c_str(), &fileinfo)) != -1)
    {
        do
        {
            //如果是目录,迭代之  
            //如果不是,加入列表  
            if ((fileinfo.attrib &  _A_SUBDIR))
            {
                if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0)
                    getFiles(p.assign(path).append("\\").append(fileinfo.name), files);
            }
            else
            {
                files.push_back(p.assign(path).append("\\").append(fileinfo.name));
            }
        } while (_findnext(hFile, &fileinfo) == 0);
        _findclose(hFile);
    }
}

int main()
{
    string imgfile = "C:\\Users\\DP\\Desktop\\xiao-yolo\\Detector\\image";
    vector<string>filename;
    getFiles(imgfile, filename);
    for(int i=0;i<filename.size();i++){
        cout<<filename.at(i)<<endl;
    }
    return 0;
}