数据分多个文件存储,读取数据就需要对多个文件进行操作。首先就需要定位到文件的名字,之后再对文件进行相应的读写操作。多次涉及多文件的读写操作,现将这个实现总结一下,方便自己和他人使用。具体代码如下:

#include "stdafx.h"
#include <stdio.h>
#include<iostream>
#include<vector>
#include <Windows.h>
#include <fstream>
#include <iterator>
#include <string>
using namespace std;#define MAX_PATH 1024  //最长路径长度/*---------------------------- * 功能 : 递归遍历文件夹,找到其中包含的所有文件*---------------------------- * 函数 : find* 访问 : public  * * 参数 : lpPath [in]      需遍历的文件夹目录* 参数 : fileList [in]    以文件名称的形式存储遍历后的文件 */
void find(char* lpPath,std::vector<const std::string> &fileList)
{char szFind[MAX_PATH];WIN32_FIND_DATA FindFileData;strcpy(szFind,lpPath);strcat(szFind,"\\*.*");HANDLE hFind=::FindFirstFile(szFind,&FindFileData);if(INVALID_HANDLE_VALUE == hFind)    return;while(true){if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){if(FindFileData.cFileName[0]!='.'){char szFile[MAX_PATH];strcpy(szFile,lpPath);strcat(szFile,"\\");strcat(szFile,(char* )(FindFileData.cFileName));find(szFile,fileList);}}else{//std::cout << FindFileData.cFileName << std::endl;fileList.push_back(FindFileData.cFileName);}if(!FindNextFile(hFind,&FindFileData))    break;}FindClose(hFind);
}int main()
{std::vector<const std::string> fileList;//定义一个存放结果文件名称的链表//遍历一次结果的所有文件,获取文件名列表find("XXXX具体文件夹目录",fileList);//之后可对文件列表中的文件进行相应的操作//输出文件夹下所有文件的名称for(int i = 0; i < fileList.size(); i++){cout << fileList[i] << endl;}cout << "文件数目:" << fileList.size() << endl;return 0;
}

测试了一下,目标文件夹下的文件名称存在了fileList容器中,根据读取的文件名称,可对文件进行相应的操作,输出结果如下所示:

C++遍历文件夹下的所有文件相关推荐

  1. C#遍历得到指定文件夹下的所有文件和子文件夹

    1.遍历指定文件夹下的所有文件 string path = Application.StartupPath + "\\data\\采集数据\\"; DirectoryInfo ro ...

  2. python遍历指定文件夹的所有文件_python 统计指定文件夹下所有的文件数量,BFS方式...

    python 统计指定文件夹下所有的文件数量 本来一直是有这个需求,只是以前写的是递归的方式处理,感觉对资源的占用不友好,而且python的最大递归深度不超过1000,所以改了一下,这里用广度优先遍历 ...

  3. java 文件 递归_JAVA实现遍历文件夹下的所有文件(递归调用和非递归调用)

    JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = ...

  4. C/C++遍历Windows文件夹下的所有文件

    因为文件夹中往往包含文件和文件夹.想要遍历所有的文件,必须遍历文件夹中所有的文件夹.很显然,这个描述满足递归的两个要素:(1)问题的规模在不断的缩小,且新问题的模式与旧问题相同.很显然文件夹中含有子文 ...

  5. 遍历读取文件夹下的所有文件

    遍历读取文件夹下的所有文件 例如,读取文件夹下,子文件夹的所有的jpg文件: import glob path = "./database/20230302/night/*/*.jpg&qu ...

  6. 深入探讨:linux中遍历文件夹下的所有文件

    深入探讨:linux中遍历文件夹下的所有文件 http://www.jb51.net/article/37664.htm

  7. c语言 遍历文件夹中所有文件名,C# 遍历文件夹下所有子文件夹中的文件,得到文件名...

    假设a文件夹在F盘下,代码如下.将文件名输出到一个ListBox中 using System.Data; using System.Drawing; using System.Linq; using ...

  8. c++ 遍历文件夹下的所有文件

    遍历文件夹下的所有文件:代码实现 #include <iostream> #include <dirent.h> #include <vector> #includ ...

  9. java遍历文件夹下的_Java遍历文件夹下的所以文件

    利用Java递归遍历文件夹下的所以文件,然后对文件进行其他的操作.如:对文件进行重命名,对某一类文件进行重编码.可以对某一工程下的全部.java文件进行转码成utf-8等 代码如下,这里只对文件进行重 ...

  10. python遍历文件夹下所有excel文件_读取某文件夹下所有excel文件 python

    import os import pandas as pd from sklearn import linear_model path = r'D:\新数据\每日收益率' filenames = os ...

最新文章

  1. linux下关于mysqldump备份的.sql导入数据库表数据丢失优化
  2. Cissp-【第3章 安全工程】-2021-2-22(269页-289页)
  3. 新网站如何做好前期SEO优化?
  4. 机器学习第九篇:详解Adaboost算法
  5. 新春大吉,2017 Make .NET Great
  6. SQLite与Sql Server的语法差异(转载)
  7. Three Memory Management Models
  8. 逾845.5万枚XRP从币安交易所转入未知钱包,价值超过496万美元
  9. windows应用迁移到linux下
  10. 阿里云服务器如何进行网站域名解析?
  11. 回顾:饶毅教授的一次采访
  12. 磁珠 符号_如何理解电子元件磁珠?
  13. 还在为满意的渐变色发愁吗?10+个网站帮你轻松实现
  14. ESP8266学习——HW Timer
  15. 如果你是我眼中一滴泪,那么我永远不会哭
  16. 内存按字节 (Byte)编址,地址从A0000H到DFFFFH,共有多少个字节呢?
  17. 标准C库函数之perror()、strerror(),以及他们之间各种的优缺点(打印错误信息)
  18. java eventbus_Guava学习笔记:EventBus
  19. 华为桌面关闭移动服务器,华为手机桌面防移动可以锁定设置
  20. 计算机网络-数据链路层(超级无敌详细)

热门文章

  1. python网易云爬虫网络技术的意义_Python3爬虫实战之网易云音乐
  2. 用python编写AutoCAD插件日志
  3. ping不通百度 ubuntu_Ubuntu不可以ping百度,但是可以ping通其ip
  4. Neural Networks and Deep Learning - 神经网络与深度学习 - Overfitting and regularization - 过拟合和正则化
  5. 前端应该掌握的Mysql
  6. lumerical安装教程
  7. flume高并发优化——(9)配置文件交由zookeeper管理
  8. 用openlayers3绘图(点、线、圆、正方形....)
  9. autojs之酷炫字体效果
  10. CentOS7.2下一键安装Openstack