作为一个从Python背景开始接触C++的新手,我正在尝试将下面的代码翻译成C++。
什么是最短的C++习惯用语来实现这样的操作?
f = open('transit_test.py')
s = f.read()
什么是最短的C++习惯用语来实现这样的操作?
#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>()) );
R s(T(f), T());
是一个函数声明。 - AbyxR s(T(f), (T()) );
不是。;) - DevSolar我相信我之前已经发布过这个内容,但它足够简短,可能不值得去找以前的答案:
std::ifstream in("transit_test.py");
std::stringstream buffer;
buffer << in.rdbuf();
buffer.str()
是一个包含transit_test.py
内容的std::string
。在C++中,您可以像这样进行文件读取:
#include <iostream>
#include <fstream>
#include <string>
int main ()
{
string line;
ifstream in("transit_test.py"); //open file handler
if(in.is_open()) //check if file open
{
while (!in.eof() ) //until the end of file
{
getline(in,line); //read each line
// do something with the line
}
in.close(); //close file handler
}
else
{
cout << "Can not open file" << endl;
}
return 0;
}
while (!in.eof())
几乎是一个已知的 bug)。 - Jerry Coffin