#include <iostream>
#include <vector>
#include <io.h>
using namespace std;bool get_filelist_from_dir(std::string path, std::vector<std::string>& files)
{long long  hFile = 0;//_findnext()第一个参数”路径句柄”,返回的类型为intptr_t(long long),//如果定义为long,在win7中是没有问题,但是在win10中就要改为long long或者intptr_tstruct _finddata_t fileinfo;files.clear();if ((hFile = _findfirst(path.c_str(), &fileinfo)) != -1){do{cout << fileinfo.name << endl;if (!(fileinfo.attrib & _A_SUBDIR)){files.push_back(fileinfo.name);}} while (_findnext(hFile, &fileinfo) == 0);_findclose(hFile);return true;}else{return false;}//另一种写法//struct _finddata_t fileinfo;//long long handle;_findnext()第一个参数”路径句柄”,返回的类型为intptr_t(long long),如果定义为long,在win7中是没有问题,但是在win10中就要改为long long或者intptr_t//handle = _findfirst(path.c_str(), &fileinfo);  //返回文件句柄<br>//if (handle == -1)//{//    cout << "fail..." << endl;//  return false;//}//else//{// cout << fileinfo.name << endl;//    files.push_back(fileinfo.name);//}//cout << "#### 1 ####" << endl;//while (!_findnext(handle, &fileinfo))//{//    cout << "#### 2 ####" << endl;//  cout << fileinfo.name << endl;//}//_findclose(handle);//return true;
}vector<string> getImageList(std::string file_path, std::string suffix)
{//string file_path = "D:\\image\\";//string suffix = "*.png";string search_path = file_path + suffix;vector<string> file_list;//保存遍历到的文件nameif (!get_filelist_from_dir(search_path, file_list))cout << "open file error!" << endl;vector<string> image_path_list;//保存文件绝对路径for (int i = 0; i < file_list.size(); i++){image_path_list.push_back(file_path + file_list[i]);//Mat image = imread(image_path);//这里可以对图像进行处理}return image_path_list;
}int main()
{vector<string> output;string filepath = "D:\\image\\";string suffix = "*.*";//后缀名output = getImageList(filepath, suffix);return 0;
}

涉及到了一个结构体,需要用的是name属性,当然假如需要文件大小的话也可以把size提取出来

#define _finddata_t     _finddata64i32_tstruct _finddata64i32_t
{unsigned    attrib;__time64_t  time_create;    // -1 for FAT file systems__time64_t  time_access;    // -1 for FAT file systems__time64_t  time_write;_fsize_t    size;char        name[260];
};

C++:遍历指定路径下的文件/图片相关推荐

  1. php遍历指定目录下的文件,PHP遍历指定目录下所有文件和目录

    PHP目录遍历程序代码,将显示指定目录下的所有文件和文件夹,并列出这些文件,最后统计出文件总数.使用的PHP函数有is_dir.closedir.scan_dir等. 本代码比较准确,可判断目录下的是 ...

  2. 删除指定路径下的文件

    string pathstr = System.Web.HttpContext.Current.Server.MapPath("/FilePath"); if (Directory ...

  3. python创建文件夹用什么函数_Python——os.mkdir()在指定路径下创建文件夹 + 路径的连接理解...

    Python--os.mkdir()在指定路径下创建文件夹 + 路径的连接理解 发布时间:2018-11-16 17:08, 浏览次数:512 , 标签: Python os mkdir 引子: 我在 ...

  4. CopyFile复制单个文件和复制指定路径下所有文件

    CopyFile复制单个文件和复制指定路径下所有文件 1.CopyFile复制单个文件 2.CopyFile复制指定路径下所有文件 1.CopyFile复制单个文件 原型: BOOL CopyFile ...

  5. 删除指定路径下的文件及文件夹操作

    1.删除指定路径下的文件及文件夹是指将次路径下的的文件夹内(包含此文件夹)所有的文件及文件夹全部删除. 2.DeleteRuninFile中删除文件的代码主要在两个方法中,如下: private bo ...

  6. 加载指定路径下所有文件

    工作中经常遇到加载某个文件夹下的所有文件,然后对文件遍历,今天写代码时遇到一个好的类ArrayDeque,整理一下,做一下笔记 下面写了一个测试类 package com.hpzx.test;impo ...

  7. Qt5 实现文件复制并在指定路径下创建文件夹

    最近在基于qt5平台的应用界面上想实现本地选择文件,并把文件拷贝到指定路径下.找到以下这篇文章参考,参考其中几个函数的写法实现了想要的功能,故记录一下,方便以后查找参考. 我在头文件中定义几个变量: ...

  8. c# 遍历文件夹深度_C#.NET中遍历指定目录下的文件(及所有子目录及子目录里更深层目录里的文件)...

    //遍历一个目录下所有的文件列表,代码实例 DirectoryInfo dir = new DirectoryInfo(folderName); var list = GetAll(dir); /// ...

  9. Java读取指定路径下的文件列表

    直接贴代码吧.不过这里要做一个简单的说明,对于这个程序,我们必须保证我们在F盘下有一个log_files的文件夹,因为在后面写入文件的时候,如果路径中的文件不存在,是程序可以自动为其添加,但如果没有了 ...

最新文章

  1. Seam开发环境中的中文乱码问题
  2. UTF-8文本文件头部出现乱码“锘*”的问题及解决方法
  3. 程序员到底该怎么给女朋友挑礼物
  4. Linux 中 awk命令应用
  5. 关于PostMessage后台发送组合键
  6. Maven projects need to be imported反复弹出如何办?
  7. akka 消息发送接收_Akka型演员:探索接收器模式
  8. 【Java】浅析Java位移运算符<<、>>、>>>
  9. python 颜色_Python可视化|matplotlib07自带颜色条Colormap(三)
  10. 中嵌套的页面如何操作父页面_UI设计中签到页面如何设计
  11. 如何const定义一个不可变数组
  12. Tomcat—如何在Windows 7中修改Tomcat的端口号
  13. 谢尔宾斯基三角形:Python+turtle
  14. Java 并发编程:轻量级锁和偏向锁详解
  15. ldd显示可执行模块的dependenc
  16. 用git clone命令从gitlab上拉取公司项目操作步骤
  17. 大数据----2.基础环境搭建
  18. 算力狂热时代的冷静之道:宁畅总裁秦晓宁分享企业的算力最优解
  19. 最新多线程图解韩顺平老师2021
  20. mac删除自带的 ABC 输入法

热门文章

  1. 深入解读 MySQL 架构设计原理,剖析存储架构选型核心
  2. 微博技术专家陈波:百亿级访问量的应用如何做缓存架构设计
  3. DevOps落地成不成,关键不在持续集成?
  4. 谷歌、阿里巴巴他们都来了,你呢?
  5. Nginx+Tomcat+Memcached集群 【测试成功】
  6. PLSQL创建用户及权限分配
  7. CS0656 缺少编译器要求的成员“Microsoft.CSharp..........
  8. 第六届蓝桥杯【省赛试题 7】牌型种数 - i 逆天耗子 - CSDN 博客
  9. 1.1什么是数据仓库
  10. HashMap 排序