用C ++读取大型二进制文件(Windows)

时间:2014-11-13 12:32:53

标签: c++ memory-management iostream

我在Windows中读取大文件时遇到问题。通常情况下,在linux中我第一次读取二进制文件时需要3-4分钟才能读取文件,但在下次运行时,它会在不到30秒的时间内读取文件,因为文件在内存中并且不需要读取整个文件,但在Windows中,每次需要3-4分钟,因为它总是尝试读取整个文件。

任何人都知道将文件缓存在windows内存中以减少阅读时间的方法吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

在大多数系统上读取大型二进制文件的最快方法是使用内存映射文件。源文件充当其自己的页面文件。

  CreateFileMapping

在Windoze上。