C++bosst遍历文件目录,根据文件名返回文件路径。
- VS2071安装Boost库

- 安装boost库

- 接着安装boost_system-vc140(可根据开发需求,更改版本)

- 废话不多说,上代码
// 测试程序.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
// 函数功能:匹配某个目录下的文件,返回文件路径 #include "pch.h"
#include <string>
#include <iostream>
#include <boost/filesystem.hpp> using namespace std; string strHeadPath = ""; //匹配文件,返回文件所在路径
bool ReadFilePath(const string &strFilePath, string strCmpFile)
{ std::string::size_type nPos = strFilePath.rfind("\\");
if (std::string::npos == nPos)
{
return false;
}
string strFileName = strFilePath.substr(nPos+1, strFilePath.size()); if (strFileName == strCmpFile)
{
strHeadPath = strFilePath;//strHeadPath定义成全局变量
return true;
}
return false;
} //遍历文件,寻找文件名对应路径
//参数1:文件根路径 参数2:要查找的文件名
void GetFileNameFromDir(string rootPath, string strCmpFile)
{
boost::filesystem::path dir(rootPath);
if (boost::filesystem::exists(dir)) // 判断路径是否存在
{
boost::filesystem::directory_iterator itEnd;
boost::filesystem::directory_iterator itDir(dir);
std::string strNewRoot("");
for (; itDir != itEnd; itDir++) // 遍历路径下所有文件
{
strNewRoot = itDir->path().string();
if (boost::filesystem::is_directory(strNewRoot.c_str())) // 判断文件是否是文件夹
{ GetFileNameFromDir(strNewRoot, strCmpFile);
}
else {
ReadFilePath(strNewRoot, strCmpFile);
}
}
}
} int main()
{
GetFileNameFromDir("D:\\test", "haha.txt");
cout << strHeadPath.c_str() << endl;
return 0;
}
- 测试结果

- 总结:为了凑够150字的随笔发个小总结,其实没毛总结的,此函数可以封装成dll,实用的小函数,c++本作者也是边学边写,平时比较忙后续偶尔会发一些数据安全相关的技术文章,凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字凑字。
C++bosst遍历文件目录,根据文件名返回文件路径。的更多相关文章
- python 查看文件名和文件路径
查看文件名和文件路径 1 >>> import os 2 >>> url = 'https://images0.cnblogs.com/i/311516/20140 ...
- OpenFileDialog获取文件名和文件路径问题
OpenFileDialog获取文件名和文件路径问题(转) 转自:http://blog.sina.com.cn/s/blog_7511914e0101cbjn.html System.IO.Path ...
- python文件名和文件路径操作
Readme: 在日常工作中,我们常常涉及到有关文件名和文件路径的操作,在python里的os标准模块为我们提供了文件操作的各类函数,本文将分别介绍"获得当前路径""获得 ...
- 读取指定文件夹下的全部文件,可通过正则进行过滤,返回文件路径数组 -- 基于node的一个函数
var fs = require('fs'); // 模板文件夹路径 var templateDirectory = '../src'; //相对于当前文件的相对路径 //var templateDi ...
- 【Python】python文件名和文件路径操作
Readme: 在日常工作中,我们常常涉及到有关文件名和文件路径的操作,在python里的os标准模块为我们提供了文件操作的各类函数,本文将分别介绍“获得当前路径”“获得当前路径下的所有文件和文件夹, ...
- Python基础之分离文件名和文件路径
参考链接:https://blog.csdn.net/qq_42110481/article/details/81104182 分离文件名与文件路径: import os if __name__ == ...
- C# Winform中如何获取文件名与文件路径
获取文件名方法: 用System.IO.Path.GetFileName和System.IO.Path.GetFileNameWithoutExtension(无扩展名)的方法 获取文件路径方法: / ...
- C#快速剔除字符串中不合法的文件名或者文件路径字符
C#快速剔除字符串中不合法的文件名 string strFileName= "文件名称"; StringBuilder rBuilder = new StringBuilder( ...
- php 遍历文件夹及文件,获取文件名和文件路径存入数据库中
<?php header("Content-Type:text/html; charset=gbk"); require('../../include/connect.php ...
随机推荐
- C++ std::thread概念介绍
C++ 11新标准中,正式的为该语言引入了多线程概念.新标准提供了一个线程库thread,通过创建一个thread对象来管理C++程序中的多线程. 本文简单聊一下C++多线程相关的一些概念及threa ...
- nfs 存储服务
今日内容: NFS 1.什么是nfs? network file system 网络文件系统 nfs共享存储 2.nfs能干什么? nfs 能为 不同主机系统之间 实现 文件的共享 3.为什么要使用n ...
- Mongodb关于查询返回指定字段的方法记录
//通常指定字段由前端传入后台,例如params 前端以逗号分隔 //后端获取字段后操作如下: Query query = new Query(); if (params != null) { Str ...
- springcloud config配置读取优先级
情景描述 最近在修复Eureka的静态页面加载不出的缺陷时,最终发现是远程GIT仓库将静态资源访问方式配置给禁用了(spring.resources.add-mappings=false).虽然最后直 ...
- [Optimized Python] 17 - Performance bottle-neck
前言 对于一门编程语言,没接触到“优化”和“库代码”的源码理解程度,不足以谈“掌握”二字. 本篇的学习笔记,同时也意味着自己终于触及到了Python的junior国际水准.(joke) 要学的东西有很 ...
- 【译】Kubernetes监控实践(2):可行监控方案之Prometheus和Sensu
本文介绍两个可行的K8s监控方案:Prometheus和Sensu.两个方案都能全面提供系统级的监控数据,帮助开发人员跟踪K8s关键组件的性能.定位故障.接收预警. 拓展阅读:Kubernetes监控 ...
- 代码审计之CSRF原理及修复
在平时的测试中,csrf也是比较容易发现的,主要就是看它对一个操作,有没有检测其时效性(这样表述可能不太准确),一般的防护方法就是添加token来进行校验,并及时对其进行失效处理. 以下所有代码都是我 ...
- Spring 事务注解@Transactional
事务管理一般有编程式和声明式两种,编程式是直接在代码中进行编写事物处理过程,而声名式则是通过注解方式或者是在xml文件中进行配置,相对编程式很方便. 而注解方式通过@Transactional 是常见 ...
- thymeleaf 语法
一.语法: 1. 简单表达式 (simple expressions) ${...} 变量表达式 *{...} 选择变量表达式 #{...} 消息表达式 @{...} 链接url表达式 2.字 ...
- 05-pandas索引切片读取数据缺失数据处理
引入 numpy已经能够帮助我们处理数据,能够结合matplotlib解决我们数据分析的问题,那么pandas学习的目的在什么地方呢? numpy能够帮我们处理处理数值型数据,但是这还不够 很多时候, ...