全站数据
8 4 2 0 5 8 1

处理大数据,读写大于4GB的文件,不要告诉我用内存映射的方法

电气技术分享 | 简单学习,快乐成才!         
问题更新日期:2024-11-02 02:39:52

问题描述

处理大数据,读写大于4GB的文件,不要告诉我用内存映射的方法希望能解答下
精选答案
最佳答案

用CreateFile,WriteFile和ReadFile可以操作大于超过4G的文件 下面的代码我已测试OK(在D:盘建立一个10G的文件)

HANDLEfile=CreateFile("d:

big.bin",GENERIC_READ|GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL)

; if(file!=INVALID_HANDLE_VALUE) { DWORDcb; BYTE*d=newBYTE[512*1024*1024]; for(inti=0;i<20;i++) { WriteFile(file,d,512*1024*1024,&cb,NULL); } delete[]d; CloseHandle(file); }不过有一点需要注意,你存放文件的目标逻辑盘的文件系统必须是NTFS, 因为FAT32系统本身就不支持大于4G的文件