boost :: filesystem如何将正确的文件路径读入stringstream?

时间:2011-04-16 17:14:25

标签: c++ file boost boost-filesystem

所以我有一个path p,我可以在其上调用is_regular_file(p)file_size(p)但是如何将该文件读入stringstream? (顺便说一下,我只需要阅读它)

2 个答案:

答案 0 :(得分:6)

我假设您要将整个文件复制到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';
}

答案 1 :(得分:1)

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

const std :: string&amp; string()const;

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

ss&lt;&lt; p.string()。c_str();