如何用c++读写一个超过2G的大文件,目的是把一个大文件分块维护在内存中

如何用c++读写一个超过2G的大文件,目的是把一个大文件分块维护在内存中,第1张

文件可以被一部分一部分地读,这在windows里被以虚拟内存映射文件的方式实现。而不能用其本身的文件流,因为它自己是调用系统API实现的,而又缺少参数,便保险地映射全部文件到内存,而一般系统的虚拟地址空间为用户2G,服务器上才3G。而2G里显然要包括程序文件本身与环境子系统DLL们。所以剩下不足2G了,这下就不够用了,所以不能用C++里的文件流。用windows系统自带的API函数可以实现分块映射读取,当然读完一块要释放掉,不然最后还是不够用,这样就行了,你可以看书去了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10892426.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-12
下一篇2023-05-12

发表评论

登录后才能评论

评论列表(0条)

    保存