映射文件把虚拟可寻址空间映射到文件上
![](/icons/7981dou2.gif)
![](/icons/7981de.gif)
![](/icons/7981dou.gif)
![](/icons/7981yi.gif)
![](/icons/7981dou2.gif)
![](/icons/7981dou.gif)
![](/icons/7981de.gif)
![](/icons/7981de.gif)
![](/icons/7981dou.gif)
![](/icons/7981de.gif)
![](/icons/7981dou2.gif)
![](/icons/7981dou.gif)
![](/icons/7981de.gif)
![](/icons/7981dou2.gif)
![](/icons/7981de.gif)
![](/icons/7981dou.gif)
![](/icons/7981de.gif)
![](/icons/7981de.gif)
![](/icons/7981de.gif)
![](/icons/7981dou2.gif)
按照以下步骤使用
1.
![](/icons/7981diaoyong.gif)
![](/icons/7981de.gif)
![](/icons/7981dou2.gif)
2.
![](/icons/7981diaoyong.gif)
![](/icons/7981dou.gif)
![](/icons/7981de.gif)
![](/icons/7981dou.gif)
![](/icons/7981hanshu.gif)
![](/icons/7981yi.gif)
![](/icons/7981hanshu.gif)
![](/icons/7981de.gif)
![](/icons/7981de.gif)
![](/icons/7981dou2.gif)
3.
![](/icons/7981diaoyong.gif)
![](/icons/7981hanshu.gif)
![](/icons/7981de.gif)
![](/icons/7981yi.gif)
![](/icons/7981dou2.gif)
![](/icons/7981hanshu.gif)
![](/icons/7981de.gif)
![](/icons/7981yi.gif)
![](/icons/7981de.gif)
![](/icons/7981dou2.gif)
4. 用该指针来读写文件
![](/icons/7981dou2.gif)
5.
![](/icons/7981diaoyong.gif)
![](/icons/7981dou2.gif)
6.
![](/icons/7981diaoyong.gif)
![](/icons/7981dou2.gif)
![](/icons/7981de.gif)
![](/icons/7981dou2.gif)
7.
![](/icons/7981diaoyong.gif)
![](/icons/7981dou2.gif)
![](/icons/7981de.gif)
![](/icons/7981de.gif)
![](/icons/7981dou2.gif)
/////////////////////////////////////////////
//为了简单 省略
![](/icons/7981cuowu.gif)
//建
![](/icons/7981yi.gif)
![](/icons/7981de.gif)
//这里只演示读取操作
//win32 console
![](/icons/7981chengxu.gif)
//winXP+vc6
//write by DKink|棼紫
//2007.10.09
#
![](/icons/7981include.gif)
#
![](/icons/7981include.gif)
#
![](/icons/7981include.gif)
![](/icons/7981int.gif)
![](/icons/7981main.gif)
![](/icons/7981int.gif)
![](/icons/7981zhk2.gif)
{
TCHAR *fileName =_T(\"test.txt\");
//--------------------------------------
//打开文件
HANDLE fileHandle = CreateFile(
fileName,
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,//文件必须存在
0,
NULL);
//--------------------------------------
//从文件创建映射对象
HANDLE fileMapping = CreateFileMapping(
fileHandle,
NULL,
PAGE_READONLY,
0,
0,
NULL);
//---------------------------------------
//把文件映射到指针(为什么用char
![](/icons/7981dou.gif)
![](/icons/7981yinwei.gif)
![](/icons/7981yi.gif)
char *fileBase = (char *) MapViewOfFile(
fileMapping,
FILE_MAP_READ,
0,
0,
0);
//--------------------------------------- [Page]
//使用数据
MessageBox(NULL,fileBase,\"MTest\",MB_OK);//这句可能有溢出
![](/icons/7981dou.gif)
![](/icons/7981dou2.gif)
UnmapViewOfFile(fileBase);//解除文件映射
CloseHandle(fileMapping);//关闭内存映射文件
CloseHandle(fileHandle);//关闭文件
![](/icons/7981return.gif)
}
最新评论