【发布时间】:2011-04-16 17:14:25
【问题描述】:
所以我有一个pathp,我可以调用例如is_regular_file(p) 和file_size(p),但是如何将该文件读入字符串流? (顺便说一句,我只需要阅读它)
【问题讨论】:
标签: c++ file boost boost-filesystem
所以我有一个pathp,我可以调用例如is_regular_file(p) 和file_size(p),但是如何将该文件读入字符串流? (顺便说一句,我只需要阅读它)
【问题讨论】:
标签: c++ file boost boost-filesystem
我假设您想将整个文件复制到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';
}
【讨论】:
ios::binary 指定为ifstream 构造函数的第二个参数。
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
【讨论】: