文章标题 原创 翻译 转载 文章内容 内存文件映射:一种内存管理方法,使程序可以像访问内存一样访问文件。它使磁盘文件的全部或部分内容映射到进程虚拟地址空间的某个区域,使用它不必执行文件I/O操作也无需对文件内容进行缓冲处理。该特性是非常适合于用来管理大尺寸文件的(批:故无需担心占用内存的问题?)。 ``` #include "stdafx.h" #include <locale.h> // add for unicode #include <windows.h> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { ::setlocale(LC_ALL, "chs"); // add for unicode HANDLE hFile = ::CreateFile( _T("test.txt"), GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, NULL, NULL); if (hFile == INVALID_HANDLE_VALUE) { printf("hFile is invalid"); return 0; } HANDLE hFileMap = CreateFileMapping( hFile, NULL, PAGE_READONLY, 0, 0, _T("test")); LPWORD lpView = NULL; if (hFileMap) { lpView = (LPWORD)MapViewOfFile(hFileMap, FILE_MAP_READ, 0, 0, 0); } wprintf(L"out: /n%s/n", lpView + 1); UnmapViewOfFile(lpView); CloseHandle(hFileMap); CloseHandle(hFile); system("pause"); return 0; } ``` > (迁移2011-05-12) 文章类别 Python Mobile Android Java Shell Life Database Bug Windows IOS Tools Boost Node.js Mac Product Tips C/C++ Golang Javascript React Qt MQ MongoDB Design Web Linux LLM ChatGPT RAG AI 提交