码迷,mamicode.com
首页 > Windows程序 > 详细

WIN32硬盘文件映射到内存

时间:2020-06-13 12:56:50      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:pause   window   ret   file   getc   bsp   地址   pfile   orm   

#include <stdio.h>
#include <windows.h>


int main()
{
    //创建打开文件
    HANDLE cFile = CreateFile("D:\\filterBufFile.txt",
        GENERIC_READ | GENERIC_WRITE,
        0,
        NULL, OPEN_EXISTING,
        FILE_ATTRIBUTE_NORMAL,
        NULL);
    //内存申请物理页
    HANDLE hMapFile = CreateFileMapping(cFile, NULL, PAGE_READWRITE, 0, 0, "共享映射");
    //和虚拟地址映射
    LPTSTR lpBuff = (LPTSTR)MapViewOfFile(hMapFile, FILE_MAP_WRITE, 0, 0, 0);

    //*(PDWORD)lpBuff = 0x12345678;

    //getchar();
    //读文件
    printf("%p\n", lpBuff);
    printf("%x\n", *(PDWORD)lpBuff);
    printf("%x\n", *((PDWORD)lpBuff+1));

    //写文件
    *(PDWORD)lpBuff = 0x41414141;
    printf("%x\n", *(PDWORD)lpBuff);
    //getchar();
    //强制刷新
    //FlushViewOfFile(((PDWORD)lpBuff), 4);

    //关闭映射
    UnmapViewOfFile(lpBuff);
    //关闭句柄
    CloseHandle(hMapFile);
    //关闭句柄
    CloseHandle(cFile);

    


    system("pause");
    return(0);
}

WIN32硬盘文件映射到内存

标签:pause   window   ret   file   getc   bsp   地址   pfile   orm   

原文地址:https://www.cnblogs.com/ganxiang/p/13113063.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!