typedef struct testData
{
char szName[16];
int iHashValue;
}TestData;内存映射,用MEMCPY将数据写入。但MEMCPY写入的方式是替换式的,就是写入后一个数据,前面的数据就被替换掉了。如何不断地写入数据,而前面的数据都在,就是不断追加。
解决方案 »
- GDI+ 如何把 画笔的轮廓 转换为 一个区域?
- 做全屏游戏的外挂时,想用SPY++
- 很让我头疼的问题,请兄弟们帮忙看一下,想了很久,也不知其所以然!!!
- VC怎样构造DTS包?
- 请问如何改变所保存文件的图标?
- VB调用VC写的dll中的多线程API(包含一个函数指针做为参数)出错,问:这种类型的调用VB支持吗?应该注意什么?
- 数据结构习题集的实习2——停车场管理的答案谁有?300相赠!!!
- 关于用Ftp一问?请进!
- 小弟想请教VC++ 如何写网络程序
- 关于MFC-afxGetApp返回当前实例--如何做到的?---自己解答一下---不知道那些多年前问过的人是否已经解答了?
- 求thinking in c++ 下载地址
- 渐变填充...有关GradientFill函数的问题
LPVOID Addr=MapViewOfFile(hMap,FILE_MAP_READ|FILE_MAP_WRITE,0,0,0);
if(Addr!=NULL)
{
char *Buf;
Buf=Memo1->Lines->Text.c_str();
CopyMemory(Addr,(const VOID*)Buf,Memo1->Lines->Text.Length());
Buf=(char*)Addr;
Buf[Memo1->Lines->Text.Length()]='\0'; //注意不能少这一步
UnmapViewOfFile(hMap);
}
写:
LPVOID Addr=MapViewOfFile(hMap,FILE_MAP_READ|FILE_MAP_WRITE,0,0,0);
if(Addr!=NULL)
{
char *Buf;
Buf=Memo1->Lines->Text.c_str();
CopyMemory(Addr,(const VOID*)Buf,Memo1->Lines->Text.Length());
Buf=(char*)Addr;
Buf[Memo1->Lines->Text.Length()]='\0'; //注意不能少这一步
UnmapViewOfFile(hMap);
}
读:
LPVOID Addr=MapViewOfFile(hMap,FILE_MAP_READ|FILE_MAP_WRITE,0,0,0);
if(Addr!=NULL)
{
char *Buf;
Buf=(char*)Addr;
Memo1->Lines->Text=AnsiString(Buf);
UnmapViewOfFile(hMap);
}
?????????????????????????????????????????????????????????????????????