Chinaunix首页 | 论坛 | 博客
  • 博客访问: 81516
  • 博文数量: 22
  • 博客积分: 1040
  • 博客等级: 少尉
  • 技术积分: 291
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-15 11:20
文章分类

全部博文(22)

文章存档

2009年(1)

2008年(21)

我的朋友

分类: C/C++

2008-05-29 09:44:56

CreateFileMapping(...,name)
MapViewOfFile
handle=OpenFileMapping(...,name)
WriteFile(handle...)
 
注意文件存取的类型要一致,下面代码是可以的:
HANDLE hf=CreateFile("out.txt",GENERIC_WRITE|GENERIC_READ,FILE_SHARE_WRITE,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
HANDLE hm=CreateFileMapping(hf,NULL,PAGE_READWRITE,0,2048,"share");
void* pf=MapViewOfFile(hm,FILE_MAP_WRITE,0,0,0);
*((char*) pf)='A';
*((char*)pf+1)='\0';
CloseHandle(hm);
CloseHandle(hf);
FlushViewOfFile就是把内存映射文件中的一段字节直接写到磁盘上去。

 
阅读(948) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~