问题描述
- c++读取几个G的大文本问题
-
我通常都是用c++的ifstream打开文件流的,处理MB级大小的文本都可以读取,为什么我现在想以二进制的方式读取几GB的内容就不行了呢??求大神帮忙!!
解决方案
用windows的api函数,内存映射,逐块读取写入
CreateFile :打开文件
GetFileSize : 获取文件尺寸
CreateFileMapping :创建映射
MapViewOfFile :映射文件
解决方案二:
用内存映射文件方式读取,CreateFileMapping
解决方案三:
用windows的api函数,内存映射,逐块读取写入
CreateFile :打开文件
GetFileSize : 获取文件尺寸
CreateFileMapping :创建映射
MapViewOfFile :映射文件
时间: 2024-10-03 04:23:06