所以我有一个path
p
,我可以调用它is_regular_file(p)
,file_size(p)
但是如何将该文件读入字符串流?(顺便说一句,我只需要阅读它)
问问题
3072 次
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 有字符串方法。
常量 std::string & string() 常量;
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 回答