• 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遍历文件目录,根据文件名返回文件路径。的更多相关文章

  1. python 查看文件名和文件路径

    查看文件名和文件路径 1 >>> import os 2 >>> url = 'https://images0.cnblogs.com/i/311516/20140 ...

  2. OpenFileDialog获取文件名和文件路径问题

    OpenFileDialog获取文件名和文件路径问题(转) 转自:http://blog.sina.com.cn/s/blog_7511914e0101cbjn.html System.IO.Path ...

  3. python文件名和文件路径操作

    Readme: 在日常工作中,我们常常涉及到有关文件名和文件路径的操作,在python里的os标准模块为我们提供了文件操作的各类函数,本文将分别介绍"获得当前路径""获得 ...

  4. 读取指定文件夹下的全部文件,可通过正则进行过滤,返回文件路径数组 -- 基于node的一个函数

    var fs = require('fs'); // 模板文件夹路径 var templateDirectory = '../src'; //相对于当前文件的相对路径 //var templateDi ...

  5. 【Python】python文件名和文件路径操作

    Readme: 在日常工作中,我们常常涉及到有关文件名和文件路径的操作,在python里的os标准模块为我们提供了文件操作的各类函数,本文将分别介绍“获得当前路径”“获得当前路径下的所有文件和文件夹, ...

  6. Python基础之分离文件名和文件路径

    参考链接:https://blog.csdn.net/qq_42110481/article/details/81104182 分离文件名与文件路径: import os if __name__ == ...

  7. C# Winform中如何获取文件名与文件路径

    获取文件名方法: 用System.IO.Path.GetFileName和System.IO.Path.GetFileNameWithoutExtension(无扩展名)的方法 获取文件路径方法: / ...

  8. C#快速剔除字符串中不合法的文件名或者文件路径字符

    C#快速剔除字符串中不合法的文件名 string strFileName= "文件名称";  StringBuilder rBuilder = new StringBuilder( ...

  9. php 遍历文件夹及文件,获取文件名和文件路径存入数据库中

    <?php header("Content-Type:text/html; charset=gbk"); require('../../include/connect.php ...

随机推荐

  1. git使用和操作

    git提交日志的规范 为了更规范的开发,特别是团队协同开发,对于代码托管工具的提交上都会有要求的. 作为开发者,我们一定要注重提交日志的规范性,我们要对自己写的代码负责.提交日志规范很多,最近看到了一 ...

  2. [Leetcode] 第334题 递增的三元子序列

    一.题目描述 给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列. 数学表达式如下: 如果存在这样的 i, j, k,  且满足 0 ≤ i < j < k ≤ n-1, ...

  3. JavaScript之深入函数(二)

    上一篇我们主要讲解了函数的执行过程和原理,本篇我们将介绍函数的另外两个特殊表现:闭包和立即执行函数. 一 闭包 1,  闭包的形成 之前我们提到,函数执行完毕,马上就会销毁自己的AO对象.但是如果遇到 ...

  4. Django+MySQL Dashboard 网页端数据库可视化

    1. Overview Python+MySQL+Django, 有些数据托管在 MySQL 的数据库,然后我们希望进行可视化,通过 web 的方式对数据库的信息去进行展示/检索/维护/.. 这个项目 ...

  5. asp.net core IdentityServer4 实现 resource owner password credentials(密码凭证)

    前言 OAuth 2.0默认四种授权模式(GrantType) 授权码模式(authorization_code) 简化模式(implicit) 密码模式(resource owner passwor ...

  6. Intellij IDEA 2019 + Java Spring MVC + Hibernate学习笔记(2)

    书接上文 首先根据各种Spring MVC教程,建立了基础的结构,是否合理不知道,姑且先这样,有问题再解决问题.学习新东西,不能怕掉坑里... 查询网上别人的经历说需要把根目录下的lib目录下的所有包 ...

  7. HNU_中小学数学卷子自动生成程序(个人项目)简要分析

    一.前言 首先,在这里特别感谢我的结对编程伙伴HnuLyx,他在算法上和设计思路上都与我有很大的不同,个人项目互评中,为我的项目提出了很多很好的建议,让我在认清自己不足的同时,了解到很多以前没有注意的 ...

  8. 基于Docker搭建大数据集群(二)基础组件配置

    主要内容 jdk环境搭建 scala环境搭建 zookeeper部署 mysql部署 前提 docker容器之间能免密钥登录 yum源更换为阿里源 安装包 微云分享 | tar包目录下 JDK 1.8 ...

  9. js 指定分隔符连接数组元素join()

    示例:<script type="text/javascript"> var myarr = new Array(3); myarr[0] = "I" ...

  10. Java中类加载和反射技术实例

    我们知道一个对象在运行时有两种类型,一个是编译类型,一个是运行时类型.在程序运行时,往往是需要发现类和对象的真实的信息的.那么如何获的这种信息呢? 其一,如果我们在编译和运行时都知道类型的具体信息,这 ...