【问题标题】:boost::filesystem How having a correct path to file read it into stringstream?boost::filesystem 如何拥有正确的文件路径将其读入字符串流?
【发布时间】:2011-04-16 17:14:25
【问题描述】:

所以我有一个pathp,我可以调用例如is_regular_file(p)file_size(p),但是如何将该文件读入字符串流? (顺便说一句,我只需要阅读它)

【问题讨论】:

    标签: c++ file boost boost-filesystem


    【解决方案1】:

    我假设您想将整个文件复制到stringstream

    std::stringstream ss;
    ss << std::ifstream( p.string().c_str() ).rdbuf();
    

    这是一种由内而外的演示:

    Shadow:code dkrauss$ ./ssclone ssclone.cpp 
    #include <sstream>
    #include <fstream>
    #include <iostream>
    
    int main(int, char *argv[] ) {
    std::stringstream ss;
    ss << std::ifstream( argv[1] ).rdbuf();
    
    std::cout << ss.str() << '\n';
    }
    

    【讨论】:

    • @Blender:因此,将ios::binary 指定为ifstream 构造函数的第二个参数。
    【解决方案2】:

    boost::filesystem::path 有字符串方法。

    const std::string & string() const;

    http://www.boost.org/doc/libs/1_43_0/libs/filesystem/doc/reference.html#Class-template-basic_path

    ss

    【讨论】:

    • 我误解了这个问题。我以为你想要字符串中文件的路径/文件名。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 2010-09-28
    • 1970-01-01
    • 2015-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多