9.4. 文件流
C++ 标准在 fstream
头文件中定义了几个文件流。 这些流不能接受 boost::filesystem::path
类型的参数。 由于 Boost.Filesystem 库很有可能被包含在 C++ 标准的 Technical Report 2 中,所以这些文件流将通过相应的构造函数来进行扩展。 为了当前可以让文件流与类型为 boost::filesystem::path
的路径信息一起工作,可以使用头文件 boost/filesystem/fstream.hpp
。 它提供了对文件流所需的扩展,这些都是基于 Technical Report 2 即将加入 C++ 标准中的。
- #include <boost/filesystem/fstream.hpp>
- #include <iostream>
- int main()
- {
- boost::filesystem::path p("test.txt");
- boost::filesystem::ofstream ofs(p);
- ofs << "Hello, world!" << std::endl;
- }
不仅是构造函数,还有 open()
方法也需要重载,以接受类型为 boost::filesystem::path
的参数。