将Textfile读取到String的最短方法

dan*_*jar 6 c++ string text file c++11

可能重复:
在c ++中将文件粘贴到std :: string的最佳方法是什么?

我以为会有这样的问题,但我找不到一个.所以这就是我的问题.

将整个文本文件读入字符串的最短方法是什么?我只想使用最新的C++标准和标准库的功能.

我认为这个共同的任务必须有一个班轮!

Ben*_*ley 7

可能是这样的:

std::ifstream fin("filename");
std::ostringstream oss;
oss << fin.rdbuf();
std::string file_contents = oss.str();
Run Code Online (Sandbox Code Playgroud)

还有这个:

std::istreambuf_iterator<char> begin(fin), end;
std::string file_contents(begin, end);
Run Code Online (Sandbox Code Playgroud)

有些人可能会建议这样做,但我更喜欢istreambuf_iterator<char>只输入一次.

std::string file_contents(std::istreambuf_iterator<char>{fin}, std::istreambuf_iterator<char>());
Run Code Online (Sandbox Code Playgroud)