zoukankan      html  css  js  c++  java
  • C++获取目录下的文件列表

    有时候会遇到得到路径下的文件列表,然后用imread顺序读取文件,把该代码片段备份一下。

    例如在/data/chw/0506/pic_test路径下有下列文件

     其中list为用Python脚本生成的文件列表,python脚本如下,

    import os
    
    base_dir = "/data/chw/0506/pic_test"
    file_data1 = []
    with open("list.txt", "w") as f:
        for file_name in os.listdir("./pic_test"):
            file_data1.append(file_name)
        #file_data1 = file_data1.sort() #error
        data1 = ""
        for temp in sorted(file_data1):
            data1 =  data1 + os.path.join(base_dir, temp) + "
    "
        f.write(data1)

    生成的list.txt内容如下

     下面把该目录下面的文件读取到一个vector中,代码如下

    int file2list(const char *imageLists, std::vector<std::string> &lists)
    {
        lists.clear();
        std::ifstream file;
        file.open(imageLists);
        char str[200];
        int num=0;
        while(!file.eof())
        {
            memset(str,0,200);
            file.getline(str,200);
            lists.push_back(std::string(str));
            num++;
        }
        return num;
    }
    
    
    std::vector<std::string> images;
    string listf = “"./pic_test/list.txt"”;
    const char *imagesList = listf.c_str();    
    file2list(imagesList, images);
    cout<<"检测几张图片"<<images.size()<<endl;
    for(int i=0; i<images.size()-1; i++)
    {
        string pic_name=images[i];  
        cv::Mat img=cv::imread(pic_name);
        ......
    }
  • 相关阅读:
    前端开发中一些好用的软件包。
    LeetCode 26 删除排序数组中的重复项
    算法 主定理
    算法学习计划继续三四个月
    Web Api
    DOM viewport
    CSS OM
    DOM Range Api
    DOM 操作 2
    DOM Event
  • 原文地址:https://www.cnblogs.com/cumtchw/p/13395188.html
Copyright © 2011-2022 走看看