2

だから私は持っていて、path p例えばis_regular_file(p)それを呼び出すことができますfile_size(p)が、そのファイルを文字列ストリームに読み込む方法は?(ところで、私はそれを読むだけでよい)

4

2 に答える 2

7

ファイル全体をにコピーしたいとします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';
}
于 2011-04-16T17:23:57.050 に答える
1

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 << p.string().c_str();

于 2011-04-16T18:31:20.603 に答える