做一个大的文件处理 但是我只想映射文件中间部分该怎么处理 我现在只会把文件的全部映射给新的文件 下嘛是 我的代码 请各位帮帮我 该怎么弄HANDLE fp = CreateFile(m_str_Raw_File,GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ,NULL,OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN,NULL); DWORD dwBytesInBlock = GetFileSize(fp, NULL); HANDLE hFileMapping = CreateFileMapping(fp,NULL,PAGE_READWRITE,0,dwBytesInBlock,NULL); CloseHandle(fp); __int64 qwFileOffset = 0; LPVOID pbFile =(LPVOID)MapViewOfFile( hFileMapping,FILE_MAP_ALL_ACCESS,(DWORD)(qwFileOffset >> 32),(DWORD)(qwFileOffset & 0xFFFFFFFF),dwBytesInBlock); HANDLE wp = CreateFile("pgttt.raw",GENERIC_READ | GENERIC_WRITE,FILE_SHARE_WRITE,NULL,CREATE_ALWAYS,FILE_FLAG_SEQUENTIAL_SCAN | FILE_FLAG_WRITE_THROUGH,NULL); HANDLE hFileMapping2 = CreateFileMapping(wp,NULL,PAGE_READWRITE,0,dwBytesInBlock,NULL); CloseHandle(wp); LPVOID pbFile2 =(LPVOID)MapViewOfFile( hFileMapping2,FILE_MAP_ALL_ACCESS,(DWORD)(qwFileOffset >>32),(DWORD)(qwFileOffset & 0xFFFFFFFF),dwBytesInBlock); memcpy(pbFile2,pbFile,dwBytesInBlock); UnmapViewOfFile(pbFile2);
UnmapViewOfFile(pbFile); CloseHandle(hFileMapping2);
CloseHandle(hFileMapping); 我只需要把m_str_Raw_File文件中间的部分给予pgttt.raw就行了 该怎么设置
UnmapViewOfFile(pbFile); CloseHandle(hFileMapping2);
CloseHandle(hFileMapping); 我只需要把m_str_Raw_File文件中间的部分给予pgttt.raw就行了 该怎么设置
解决方案 »
- 基于对话框的VC++工程,须建立2个工具栏,并将其中一个工具栏固定在对话框的某一固定位置,哪位大侠能帮忙解决一下。。。
- CoCreateInstance的问题
- 求一个音量控制的例子
- 求助,SDK编程对TREE-VIEW的节点文字的搜索
- 基于消息的异步操作?
- using namespace std;这句话是什么意思?盼赐教!!!
- 后缀为vsd的文件用什么软件能编辑或者打开?
- 新人求高人给思路!!webbrowser2的问题
- activex中加入mediaplay控件报错
- 会使用VC开发AvtiveX.ocx控件的高手请进,问题不难,难者不会。
- 如何打印图片??HELP^^^^^^^^
- vc 6.0下能够用gdi+显示已存在图像的某一部分并保存为文件吗?
(DWORD)(qwFileOffset & 0xFFFFFFFF) 是底32位
创建1G之后的4K映射:
fseek(fp,1G,SEEK_SET);
CreateFileMapping(fp, NULL, PAGE_READWRITE, 0, 4096, strObjectName);