直接将文件内容读取到流中,避免使用数组

时间:2017-04-17 13:36:15

标签: c++ iostream

以下代码的目的是以块的形式从文件中读取数据,然后调用传入此分块数据的函数。

std::ifstream fileData("file.jpg", std::ios::binary);
const int chunkSize = 1024 * 1024;

char* buffer = new char[chunkSize];
fileData.read(buffer, chunkSize);
std::istringstream chunkedFileData(std::string(buffer, chunkSize));

fcn(chunkedFileData); // void fcn(std::istream& s);

目前,我使用istream::read提取特定数量的字符并存储在缓冲区数组中。然后我从缓冲区构造一个istringstream,因为以下函数需要引用istream

是否可以避免使用中间数组并将特定数量的字符读取到流中?

0 个答案:

没有答案