一、文件和目录
boost::filesystem::path 提供的成员函数只是处理字符串。它们访问路径的各个组件,将路径相互附加,等等。
为了处理硬盘驱动器上的物理文件和目录,提供了几个独立的功能。他们期望一个或多个 boost::filesystem::path 类型的参数并在内部调用操作系统函数。
在介绍各种功能之前,重要的是要了解发生错误时会发生什么。所有函数都调用可能失败的操作系统函数。因此,Boost.Filesystem 提供了两种不同的函数变体,以防出错:
- 第一个变体抛出 boost::filesystem::filesystem_error 类型的异常。这个类派生自 boost::system::system_error,因此适合 Boost.System 框架。
- 第二个变体需要一个 boost::system::error_code 类型的对象作为附加参数。该对象通过引用传递,可以在函数调用后检查。在失败的情况下,对象存储相应的错误代码。
二、库应用案例
boost::system::system_error 和 boost::system::error_code 在第 55 章中介绍。除了从 boost::system::system_error 继承的接口之外,boost::filesystem::filesystem_error 还提