鱼C论坛

 找回密码
 立即注册
查看: 4747|回复: 2

VC++内存映射文件问题

[复制链接]
发表于 2012-12-19 11:45:13 | 显示全部楼层 |阅读模式
5鱼币
本帖最后由 贱人一个 于 2012-12-19 22:07 编辑

  1. #include "stdio.h"
  2. #include "windows.h"
  3. #define BUFFSIZE 1024 // 内存大小
  4. #define FILE_MAP_START 0x28804 // 文件映射的起始的位置
  5. void main()
  6. {
  7. HANDLE hf=CreateFile("test.dat",GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
  8. //获取系统信息
  9. SYSTEM_INFO SysInfo; //系统信息
  10. GetSystemInfo(&SysInfo);
  11. DWORD dwSysGran;
  12. dwSysGran = SysInfo.dwAllocationGranularity;

  13. //创建文件内存映射区域的句柄
  14. HANDLE hM=CreateFileMapping(hf,NULL,PAGE_READWRITE,0,32,NULL);
  15. //计算mapping的起始位置
  16. DWORD dwFileMapStart = (FILE_MAP_START / dwSysGran) * dwSysGran;
  17. //映射
  18. LPVOID lp =MapViewOfFile(hM,FILE_MAP_ALL_ACCESS,0,dwFileMapStart,32);

  19. //打印
  20. int a[32];
  21. CopyMemory(a,lp,32);
  22. for(int i=0;i<32;i++)
  23. {
  24. printf("0x%.2x",a[i]);
  25. }

  26. }
复制代码



内存不能为  
  那里错了

最佳答案

查看完整内容

找到文件夹后继续调用这个函数,才能遍列
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-12-19 11:45:14 | 显示全部楼层
找到文件夹后继续调用这个函数,才能遍列
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-4-24 18:22:48 | 显示全部楼层
来看看呵呵
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-13 19:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表