VC 中使用内存映射文件处理大文件(5)
时间:2025-07-12
时间:2025-07-12
高中物理教学艺术
adwrite,
0,
(dword)(qwfileoffset&0xffffffff),
null);
// 关闭文件内核对象
closehandle(hfile2);
// 将文件数据映射到进程的地址空间
pbfile2 = (pbyte)mapviewoffile(hfilemapping2,
file_map_all_access,
0, 0, qwfileoffset);
// 将数据从原来的内存映射文件复制到此内存映射文件
memcpy(pbfile2, pbfile, qwfileoffset);
file://从进程的地址空间撤消文件数据映像
unmapviewoffile(pbfile);
unmapviewoffile(pbfile2);
// 关闭文件映射对象
closehandle(hfilemapping);
closehandle(hfilemapping2);
// 删除临时文件
deletefile(recv1.zip);
结论
经实际测试,内存映射文件在处理大数据量文件时表现出了良好的性能,比通常使用cfile类和readfile()和writefile()等函数的文件处理方式具有明显的优势。本文所述代码在windows 98下由microsoft visual c 6.0编译通过。
上一篇:美容院顾客档案管理
下一篇:申报五四特色红旗团支部布点课题