在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也一样
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也一样
解决方案 »
- winhttp 如何获取重定向后的url?
- 完成端口的问题:当多次投递读/写的请求还没返回时,调用了PostQueuedCompletionStatus退出,那读写请求时分配的内存如何释放?
- 程序运行出错问题,大虾请进
- SDK程序中,如何获得客户区中一个字符串的长度。
- 散分,推站www.ibzoo.com有些有价值的电子书可以下载的
- 如何在VC程序里获取指定文件夹所占用空间的大小?
- 请问如何在扩展DLL中访问Exe程序的函数,入在DLL中调用CMainFrame中的成员函数?
- 在线求救!怎样给对象传递参数?
- VC++ DMA传输类有没有相关的书啊,有高手知道不
- 菜鸟问:为什么我的组合框不能下拉?
- 【请教】删除指定路径下文件夹中所有的文件?
- button问题
CString strData
strcpy((char*)lpdata,strData); ////如果拷贝大数据量,这个strcpy会出错,会是什么原因呢,使用
strcat,memmove也一样 小数据量是不会出错的
这个是个常数吧,sizeof(CString)=4吧,显然你怎么操作都会错了~
小批量的也会错误的,只不过你还没发现而已。
return true; 之前你定义一个CString abc="";你的程序就出问题了。
strcat,memmove也一样
===============================================
直接赋值就可以了。
strData = (char*)lpdata;
CString能存储的最大字符个数是 INT_MAX (2,147,483,647)
我觉得100M一次的map,一点一点拷贝就没问题了
楼主可以试试
lz可能用的时候有点问题