提示:

  • filesystem库提供了两个头文件,一个是<boost/filesystem.hpp>,这个头文件包括基本的库内容。它提供了对文件系统的重要操作。

    同一时候它定义了一个类path。正如大家所想的。这个是一个可移植的路径表示方法,它是filesystem库的基础。

  • 一个是<boost/filesystem/fstream.hpp>。是对std::fstream的一个补充,使用能够使用类boost::path作为參数。从而使得filesystem库与标准库的关系更亲热。
  • 由于文件系统对于大多数系统来说都是共享的,所以不同的进程能够同一时候操作同一个对象,因此filesysetm不提供这方面的特性保证。

    当然这样的保证也是不可能的。或者至少昂贵的。

  • filesystem在不论什么时候,仅仅要不能完毕对应的任务。它都可能抛出 basic_filesystem_error异常。当然并不是总会抛出异常。由于在库编译的时候能够关闭这个功能。同一时候有两个函数提供了无异常版本号。这是由于在任务不能完毕时并不是是异常。
  • filesystem库的全部内容定义在boost名字空间的一个下级名字空间里,它叫boost::filesytem。在使用boost.filesytem之后,链接时须要加“-lboost_filesystem-mt”选项,由于这个须要额外的链接,并不是一个纯头文件的库。
  • 本文中所用boost库为1_54
#include<boost/filesystem.hpp> {boost::filesystem::path path("/test/test1");   //初始化 boost::filesystem::path old_cpath = boost::filesystem::current_path(); //取得当前程序所在文件夹  boost::filesystem::path parent_path = old_cpath.parent_path();//取old_cpath的上一层父文件夹路径 boost::filesystem::path file_path = old_cpath / "file"; //path支持重载/运算符if(boost::filesystem::exists(file_path))  //推断文件存在性  {  std::string strPath = file_path.string();int x = 1;} else {  //文件夹不存在;   boost::filesystem::create_directory(file_path);  //文件夹不存在。创建 }  bool bIsDirectory = boost::filesystem::is_directory(file_path); //推断file_path是否为文件夹boost::filesystem::recursive_directory_iterator beg_iter(file_path);boost::filesystem::recursive_directory_iterator end_iter;for (; beg_iter != end_iter; ++beg_iter){if (boost::filesystem::is_directory(*beg_iter)){continue;}else{  std::string strPath = beg_iter->path().string();  //遍历出来的文件名称int x=1;}}boost::filesystem::path new_file_path = file_path / "test.txt";if(boost::filesystem::is_regular_file(new_file_path)) //推断是否为普通文件{  UINT sizefile = boost::filesystem::file_size(new_file_path);  //文件大小(字节)int x =1;}   boost::filesystem::remove(new_file_path);//删除文件new_file_path
}

boost::filesystem经常使用使用方法具体解释相关推荐

  1. 了解 Boost Filesystem Library文件系统

    C++ 语言(实际上是 C++ 标准)的最常见问题之一是,缺乏定义良好的库来帮助处理文件系统查询和操作.由于这个原因,程序员不得不使用本机操作系统提供的应用程序编程接口(Application Pro ...

  2. Boost::filesystem的使用笔记

    Boost::filesystem 使用小笔记 http://blog.csdn.net/dourgulf/article/details/8589207 boost 官方文档:http://en.h ...

  3. C++目录遍历:使用第三方库boost.filesystem等

    1. opencv 目录文件遍历 注释:2014 0814 这个代码是基于java的,Java使用托管代码进行目录管理,C++就不那么跨平台了. 原文链接:http://blog.csdn.net/z ...

  4. boost Filesystem Library Version 3关于文件的一些函数封装 fsync()函数

    boost boost Filesystem Library Version 3 boost::filesystem使用方法,根据路径创建文件夹 使用boost.filesystem检查文件是否存在的 ...

  5. C++ 檔案、資料夾、路徑處理函式庫:boost::filesystem

    原帖:https://tokyo.zxproxy.com/browse.php?u=uG7kXsFlW1ZmaxKEvCzu8HrCJ0bXIAddA1s5dtIUZ%2FYzM1u9JI7jjKLT ...

  6. boost::filesystem::directory_iterator() 出现段错误 Sementation fault

    这是一个复盘帖,将遇到的boost的相关问题复盘一下, 先贴上我的代码部分: if (boost::filesystem::is_directory(mypath)) {boost::filesyst ...

  7. 了解 Boost Filesystem Library

    C++ 语言(实际上是 C++ 标准)的最常见问题之一是,缺乏定义良好的库来帮助处理文件系统查询和操作.由于这个原因,程序员不得不使用本机操作系统提供的应用程序编程接口(Application Pro ...

  8. Boost filesystem学习笔记

    1. 头文件 #include <boost/filesystem.hpp> 2. 函数介绍 2.1. 路径判断 boost::filesystem::system_complete(pa ...

  9. boost::math模块使用 Brent 方法求函数最小值的示例

    boost::math模块使用 Brent 方法求函数最小值的示例 实现功能 C++实现代码 实现功能 boost::math模块使用 Brent 方法求函数最小值的示例 C++实现代码 #inclu ...

最新文章

  1. 海淀城市大脑建设单位“中海纪元”调研“智源研究院”
  2. R语言入门第五集 实验四:数据分析
  3. 广东省计算机大赛设计什么时候,2017年广东省大学生计算机设计大赛
  4. 有一种爱情叫永不改变_设计就像爱情一样,总是在寻找一种方式
  5. LeetCode 1289. 下降路径最小和 II(DP)
  6. BZOJ 3390: [Usaco2004 Dec]Bad Cowtractors牛的报复(最大生成树)
  7. Android 热修复的相关总结(主要是阿里百川的)
  8. Python爬取网易云歌词并生成词云
  9. 计算机端口详细介绍(整理版)
  10. python for ArcGIS 绘制重庆市板块地图
  11. 2个最好的中文图标搜索引擎
  12. 生产计划排程为什么会这么难?
  13. MATLAB | 用cftool对excel的数据进行三维曲线拟合
  14. 企业培训管理——学习平台应用功能
  15. 以前的java单机游戏过关长剑,玩过这些经典单机游戏_就说明你已经老了
  16. 高德地图API行政区域查询
  17. 万维网之父要推翻自己一手开创的互联网世界!
  18. ASP.NET统计在线人数
  19. Java常用工具包 Jodd jar包
  20. C#项目中所有的窗体排版都乱了

热门文章

  1. 双线服务器和CDN的区别
  2. Spring Boot 特性 —— SpringApplication
  3. 华三 交换 IRF V7
  4. 2.3. 实体(Core Data 应用程序实践指南)
  5. fckeditor漏洞之爆路径漏洞
  6. 你眼中的OA行业发展前景
  7. 最亲密接触DhtmlJScript开发细节
  8. mysql 导出dmp文件_Mysql数据库的各种命令:
  9. Nginx —— configure文件详解
  10. map和vector的迭代器失效问题(某公司招聘笔试试题)