一、概述
Boost.Filesystem库提供了操作文件、目录和路径的工具。库包含以下特征:
- 与C++标准库高度兼容的现代C++接口。
许多用户说接口是他们使用Boost.Filesystem的主要动机。他们喜欢基于标准库容器、迭代器和算法的习惯用法。他们喜欢通过抛出异常来报告错误。 - 可在操作系统间移植。
在C++语法级别上,无论是什么操作系统,接口都可以很方便地学习和使用。
在语义级别上,代码行为可以在操作系统之间合理地移植。 - 通过C++异常(默认)或错误码进行错误处理和报告。
C++异常是大多数应用程序首选的错误报告机制。抛出的异常包括详细的错误代码信息,这些信息对于诊断文件系统错误的具体原因非常重要。
通过错误码的错误报告允许用户代码提供详细的错误恢复,以避免到处都是try-catch块而不好维护。 - 适合广泛的应用程序,从简单的脚本化操作到极度复杂的代码。
在简单的脚本化这方面,其目的不是要与Python、Perl或shell语言竞争,而是在C++已经成为首选语言时提供文件系统操作。
可以对操作和错误处理进行更细粒度的控制,以支持更复杂的应用程序或其他不需要抛出异常的情况。 - 构成了ISO/IEC TS 18822的基础(C++标准库文件系统技术规范)。
要使用Filesystem库,只需要代码中包含头文件:#include <boost/filesystem.hpp>
,就可以访问所有库的特征,除了文件流,<boost/filesystem/fstream.hpp>
继承与C++标准库的fstream相同的组件,但文件使用const path&
标识而不是const char*
。