• 9.4. 文件流

    9.4. 文件流

    C++ 标准在 fstream 头文件中定义了几个文件流。 这些流不能接受 boost::filesystem::path 类型的参数。 由于 Boost.Filesystem 库很有可能被包含在 C++ 标准的 Technical Report 2 中,所以这些文件流将通过相应的构造函数来进行扩展。 为了当前可以让文件流与类型为 boost::filesystem::path 的路径信息一起工作,可以使用头文件 boost/filesystem/fstream.hpp。 它提供了对文件流所需的扩展,这些都是基于 Technical Report 2 即将加入 C++ 标准中的。

    1. #include <boost/filesystem/fstream.hpp>
    2. #include <iostream>
    3.  
    4. int main()
    5. {
    6. boost::filesystem::path p("test.txt");
    7. boost::filesystem::ofstream ofs(p);
    8. ofs << "Hello, world!" << std::endl;
    9. }
    • 下载源代码

    不仅是构造函数,还有 open() 方法也需要重载,以接受类型为 boost::filesystem::path 的参数。