ifstream与fread的二进制文件
|
哪个更快?
ifstream
或fread
。
我应该使用哪个读取二进制文件?
fread()
将整个文件存储到内存中。
因此,在fread
之后,快速访问它创建的缓冲区。
ifstream::open()
是否将整个文件放入存储器?
还是每次我们执行ifstream::read()
都会访问硬盘?
那么...ifstream::open()
==fread()
吗?
或(ifstream::open(); ifstream::read(file_length);
)==fread()
?
还是我用use10ѭ?
编辑:
我的readFile()方法现在看起来像这样:
void readFile()
{
std::ifstream fin;
fin.open(\"largefile.dat\", ifstream::binary | ifstream::in);
// in each of these small read methods, there are at least 1 fin.read()
// call inside.
readHeaderInfo(fin);
readPreference(fin);
readMainContent(fin);
readVolumeData(fin);
readTextureData(fin);
fin.close();
}
小方法中的多个fin.read()调用会降低程序速度吗?
我应该只在main方法中使用1 fin.read()并将缓冲区传递给较小的方法吗?我想我要写一个小程序进行测试。
谢谢!
没有找到相关结果
已邀请:
5 个回复
呕蹿尉
只是在幕后以更符合C ++的方式使用
(因此是从C ++文件中读取二进制信息的标准方式)。我怀疑是否存在明显的性能差异。 要使用
,必须打开文件。它不仅需要一个文件,而且可以立即将其放入内存。所以
和
。
乐遣杀屎
冉案
席陋临拈
炉挤仙挟