0

我将此代码在python中转换为c ++:

content = file(filename, "rb").read()

这是 C++ 中的代码:

ifstream file;
file.open(filename, fstream::binary);

file.seekg (0, ios::end);
long fileLength = file.tellg();
file.seekg(0, ios_base::beg);

char *content = new char[fileLength];
file.read(content, fileLength);

当我运行 python 代码时,我在内容中得到一个长字符串(500 个字符~),而 c++ 代码只返回 4 个字符。

有什么建议吗?

谢谢

4

1 回答 1

2

读取整个文件的最简单方法是:

std::string content(
    std::istreambuf_iterator<char>(std::ifstream(filename, std::fstream::binary).rdbuf()),
    std::istreambuf_iterator<char>());
于 2012-09-05T09:14:34.633 回答