在C++中将文件读取到字符串

dzh*_*lil 3 c++ string file

作为一个刚接触C++并来自python背景的人,我试图将下面的代码翻译成C++

f = open('transit_test.py')
s = f.read()
Run Code Online (Sandbox Code Playgroud)

做这样的事最短的C++成语是什么?

Don*_*eba 6

C++ STL的方法是这样的:

#include <string>
#include <iterator>
#include <fstream>

using namespace std;

wifstream f(L"transit_test.py");
wstring s(istreambuf_iterator<wchar_t>(f), (istreambuf_iterator<wchar_t>()) );
Run Code Online (Sandbox Code Playgroud)

  • `R s(T(f),T());`是函数声明. (2认同)

Jer*_*fin 6

我很确定我以前发过这个,但它足够短,可能不值得找到以前的答案:

std::ifstream in("transit_test.py");
std::stringstream buffer;

buffer << in.rdbuf();
Run Code Online (Sandbox Code Playgroud)

现在buffer.str()是一个std::string持有的内容transit_test.py.