ToB企服应用市场:ToB评测及商务社交产业平台
标题:
C++遴选出特定类型的文件或文件名符合要求的文件
[打印本页]
作者:
铁佛
时间:
2024-4-21 16:17
标题:
C++遴选出特定类型的文件或文件名符合要求的文件
本文介绍基于
C++
语言,遍历文件夹中的全部文件,并从中获取
指定类型
的文件的方法。
首先,我们来明确一下本文所需实现的需求。现在有一个文件夹,其中包含了很多文件,如下图所示;我们如果想获取其中所有类型为.bmp格式的文件的名称,如果文件数量比较多的话,手动筛选就会很麻烦。而借助
C++
代码就可以简单地实现这一需求。如果需要借助
Python
代码来实现同样的需求,可以参考文章
Python ArcPy批量掩膜、重采样大量遥感影像
,基于其中提到的arcpy.ListRasters()函数来实现。
首先需要说明的是,本文代码只能实现对
某一文件夹下的文件
进行遍历并筛选;如果是当前文件夹下的
子文件夹中
的文件,这一代码是没有办法遍历的。大家如果有相关需求的话,可以尝试在本文代码中加几个判断语句来实现;或者参考
HDF格式遥感影像批量转为TIFF格式:ArcPy实现
、
Python求取文件夹内的文件数量、子文件夹内的文件数量
这两篇文章,基于其中提到的方法用
Python
代码来实现。
本文分为两部分,第一部分为代码的分段讲解,第二部分为完整代码。
1 分段代码介绍
1.1 代码准备
这一部分主要是代码的头文件、命名空间与我们
自行撰写的自定义函数
get_need_file()的声明;具体代码如下所示。
#include <iostream>
#include <vector>
#include <io.h>
using namespace std;
void get_need_file(string path, vector<string>& file, string ext);
复制代码
其中,由于我们在接下来的代码中需要用到容器vector这一数据类型,因此首先需要添加#include ;同时,我们在接下来的代码中需要用到头文件io.h中的部分函数(主要都是一些与计算机系统、文件管理相关的函数),因此需要添加#include 。
接下来,这里声明了一个自定义函数get_need_file(),具体我们在本文
1.3
部分介绍。
1.2 主函数
这一部分介绍代码的main()函数;具体代码如下所示。
[code]int main() { string file_path = R"(E:\02_Project\02_ChlorophyllProduce\01_Data\00_Test)"; vector my_file; string need_extension = ".bmp"; get_need_file(file_path, my_file, need_extension); for (int i = 0; i < my_file.size(); i++) { cout
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4