#include<Windows.h>
#include<iostream>
#include<TCHAR.h>
int main()
{ using namespace std;
HANDLE hFile = CreateFile(TEXT("E:\\abc.rar"),GENERIC_WRITE | GENERIC_READ,FILE_SHARE_READ, NULL,CREATE_ALWAYS, FILE_FLAG_SEQUENTIAL_SCAN, NULL);
if(hFile==NULL)
cout<<"error";
DWORD dwBytesInBlock = GetFileSize(hFile,NULL);//得到文件的大小
HANDLE hFileMapping = CreateFileMapping(hFile, NULL, PAGE_READWRITE, 0, dwBytesInBlock, NULL);
LPVOID pbFile = (LPVOID)MapViewOfFile( hFileMapping, FILE_MAP_ALL_ACCESS, 0,0, dwBytesInBlock);
if(pbFile)
{
cout<<"MapViewOfFile is ok..";
}
CloseHandle(hFile);
return 0;
好像映射不成功!!谁能告诉我怎么验证是否映射成功呢
估计文件有,但你这样把原来的覆盖了,导致大小为0
->
if(hFile!=INVALID_HANDLE_VALUE)
估计文件有,但你这样把原来的覆盖了,导致大小为0两个原因
然后GetLastError看看是什么原因
-----学习中-----
我觉得可能是rar的问题