了解 boost filesystem library

了解 boost filesystem library

ID:19790953

大小:68.00 KB

页数:6页

时间:2018-10-06

了解 boost filesystem library_第1页
了解 boost filesystem library_第2页
了解 boost filesystem library_第3页
了解 boost filesystem library_第4页
了解 boost filesystem library_第5页
资源描述:

《了解 boost filesystem library》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、了解BoostFilesystemLibrary  C++语言(实际上是C++标准)的最常见问题之一是,缺乏定义良好的库来帮助处理文件系统查询和操作。由于这个原因,程序员不得不使用本机操作系统提供的应用程序编程接口(ApplicationProgramInterfaces,API),而这使得代码不能在平台之间移植。以下面的简单情况为例:您需要确定某个文件是否是Directory类型。在Microsoft®E变量。这两种方法在实际中各有优缺点。考虑以下情况:您希望操作软件所创建的目录,此目录在UNIX和Linux系统上位于/tmp/mypmy::pathpath(

2、/tmp/my::pathpath(C:  mpmy::pathpath(/tmp/mye_check指的是一个名称检查函数原型。如果其参数输入PATHNAME对于特定的操作系统或文1234下一页——感谢阅读这篇文章,..,件系统有效,名称检查函数将返回True。BoostFilesystemLibrary提供了多个名称检查函数,而且也欢迎您提供自己的变体。常用的名称检查函数是Boost提供的portable_posix_name和e。  path成员函数概述  path对象提供了多个成员方法。这些成员例程并不会修改文件系统,但会根据path名称提供有用的信息。此部分提

3、供了其中几个例程的概述:  conststd::stringstring():此例程会返回用于初始化path的字符串的副本,其格式符合path语法规则。  std::stringroot_directory():在提供了路径的情况下,此API将返回根目录,否则将返回空字符串。例如,如果路径包含/tmp/var1,则此例程将返回/,即UNIX文件系统的根。不过,如果路径是相对路径,如../mye():在给定从文件系统根目录开始的路径的情况下,此例程将返回包含PATHNAME的第一个字符的字符串。  std::stringleaf():在给定绝对路径名称(例如,/home/

4、user1/file2)的情况下,此例程将提供与文件名称对应的字符串(即file2)。  std::stringbranch_path():这是与leaf互补的例程。在给定路径的情况下,将会返回其构造所用的所有元素(除了最后一个元素)。例如,对于使用/a/b/c初始化的path,path.branch_path()将返回/a/b。对于包含单个元素的路径,如c,此例程将返回空字符串。  boolempty():如果path对象包含空字符串(例如pathpath1()),则此例程将返回True。  boost::filesystem::path::iterator:此例程用

5、于遍历path的各个元素。请看清单5所示的代码。  清单5.使用path::iterator(begin和end接口)#include<iostream>#includeboost/filesystem.hppintmain() { boost::filesystem::pathpath1(/usr/local/include);//randompathname boost::filesystem::path::iteratorpathI=path1.begin(); p;rhs):此例程是path的非成员函数。它将返回使用lhs和rhs形成的路径的串联值。

6、它将自动插入/作为路径分隔符,如清单6中所示。  清单6.路径字符串的串联#include<iostream>#includeboost/filesystem.hppintmain() { boost::filesystem::pathpath1(/usr/local/include);//randompathname boost::filesystem::path::iteratorpathI=path1.begin(); Library将使用C++异常报告运行时错误。boost::filesystem_error类派生自std::runtime_erro

7、r类。库中的函数使用filesystem_error异常报告操作错误。与不同的可能错误类型对应,Boost头文件定义了相应的错误代码。用户代码通常驻留在try...catch块内,使用filesystem_error异常来报告相关错误消息。清单7提供了重命名文件的小示例,在from路径中的文件不存在时引发异常。  清单7.Boost中的错误处理#include<iostream>#includeboost/filesystem.hppintmain() { try{ boost::filesystem::pathpath(C:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。