内存映射,拷贝内存数据出错,请高手指点
在a工程里:
BOOL CCallDlg::CreateTextData(CString strData)
{
DWORD dsize = sizeof(strData);
HANDLE hdata = ::CreateFileMapping((HANDLE)0xffffffff,NULL,PAGE_READWRITE,0,dsize,"DataOne");
if(hdata == NULL)
{
this->MessageBox("create memory map file failed");
return false;
}
LPVOID lpdata = ::MapViewOfFile(hdata,FILE_MAP_READ|FILE_MAP_WRITE,0,0,dsize);
if(lpdata == NULL)
{
this->MessageBox("map View of file failed");
return false;
}
strcpy((char*)lpdata,(char*)&strData); ////如果拷贝大数据量,这个strcpy会出错,会是什么原因呢,使用
strcat,memmove也一样。。。
ASSERT(::UnmapViewOfFile(lpdata));
return true;
}
strcpy((char*)lpdata,(char*)&strData); ////如果拷贝大数据量,这个strcpy会出错,会是什么原因呢,使用
strcat,memmove也一样。。。