zoukankan      html  css  js  c++  java
  • 文件映射

    // 文件映射-操作文件.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include <windows.h>
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        HANDLE hFile;        // 文件句柄
        HANDLE hMapFile;     // 文件内存映射区域的句柄
        LPVOID lpMapAddress; // 内在映射区域的起始位置
        // 1. 创建一个文件
        hFile = CreateFile(L"D:\1.exe", GENERIC_READ | GENERIC_WRITE, 0, NULL,
            OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
        if (INVALID_HANDLE_VALUE == hFile)  return FALSE;
        // 2. 创建文件映射
        hMapFile = CreateFileMapping(hFile, NULL, PAGE_READWRITE, 0,
            GetFileSize(hFile, NULL), NULL);
        if (NULL == hMapFile)  return FALSE;
        // 3. 将文件映射View
        lpMapAddress = MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, 0);
        if (NULL == lpMapAddress)  return FALSE;
        // ......
        *((char*)lpMapAddress) = 'O';
        //...
        //...
        //...
        // 可以使用lpMapAddress进行一些操作
        // ......
        // 4. 将映射的数据写回到硬盘上
        FlushViewOfFile(lpMapAddress, 0);
        // 5. 关闭mapping对象
        if (!CloseHandle(hMapFile))  return FALSE;
        if (!CloseHandle(hFile))     return FALSE;
    
        return 0;
    }
  • 相关阅读:
    网络故障排除工具 | 快速定位网络故障
    Brocade博科光纤交换机zone配置
    博科Brocade 300光纤交换机配置zone教程
    游戏开发
    第8章 图
    第7章 二叉树
    第6章 树型结构
    第5章 递归
    第4章 字符串、数组和特殊矩阵
    第3章 顺序表的链式存储
  • 原文地址:https://www.cnblogs.com/Alyoyojie/p/5334826.html
Copyright © 2011-2022 走看看