是否可以用=复制?我在类的函数的参数中使用了CString str
想复制给类的成员 CString m_strm_str=str;结果执行出错。请问该怎样复制?
想复制给类的成员 CString m_strm_str=str;结果执行出错。请问该怎样复制?
解决方案 »
- SendMessage与PostMessage
- FileTimeToSystemTime问题
- 经验分享--关于一个.h文件多个类,包含头文件的问题
- CMyButton派生自CButton,无任何改动,调试却出错
- 关于指针的问题,各位大哥一定要帮帮我啊,急用啊
- 如何将中文VC改回到英文界面的VC,前提是不重装
- 会看msdn的亲近,看参数的方法
- 怎么真正删除CObList元素的内存?CObList.RemoveAll()删除不了
- 在VC环境下如何新建一个文件夹(分数有限,限两人回答)
- debug版ocx控件用regsvr32注册的问题
- 求教,求教,同行帮忙,哪里有比较好的计算机图书下载?多谢多谢!
- 我们应该有自己独立的软件业,不但要作别人世界工厂,也要作自己的世界工厂
CString m_str( str );
m_str = str;
strcpy( m_str, str );
...
{
CString m_str;
void Set(CString str);
}void Set(CString str)
{
m_str=str;
}这样就出错。
实在不行你可以改成字符数组呀,然后用strcpy()进行拷贝
怎么在我的程序中就是不行呢?
cannot create map for .ilk file; linking nonincrementallyThere was not a large enough contiguous space in shared memory for LINK to create the incremental status (.ilk) file. LINK performed a nonincremental build.
{
CString m_str;
void Set(CString str);
}void Set(CString str)
{
//先清m_str
lsrcpy(m_str, "");
//若m_str.Format("%s", str)不行
m_str += str;
}
cannot create map for .ILK file; linking nonincrementallyThere was not a large enough contiguous space in shared memory for LINK to create the incremental status (.ILK) file. LINK performed a nonincremental build.提示你的共享内存没有足够大的空闲块。你看这段信息对你有没有帮助,不过你最好把相关的代码简化后贴出来让我们看一下。
因为楼上说的几种方法都可以,所以你的问题要看具体情况而定了。
但是运行的时候,出现错误信息:
Unhandled Exception in xxx.exe (MFC42D.dll): 0xC0000005: Access Violation
void func(CString parastr)
{ CString instr; ...} 假如你只是想得到这个参数代表的字符串值,用
void func(CString parastr)更好,直接用等号
赋值没有问题。假如函数中改动了parastr的值,
用void func(CString ¶str)定义函数,也是
直接等号搞定
“假如你只是想得到这个参数代表的字符串值,用
void func(LPCTSTR parastr)更好”
CString Ext,
BOOL IncludeSubDir,
BOOL AutoClean,
int SaveDays)
{
TRACE("Dir=%s\n\r",Dir);
m_Dir=Dir;
m_Ext=Ext;
m_IncludeSubDir=IncludeSubDir;
m_AutoClean=AutoClean;
m_SaveDays=SaveDays;
}BOOL CDiskClean::OnApply()
{
// TODO: Add your specialized code here and/or call the base class
TRACE("Dir=%s Ext=%s \n\r",m_Dir,m_Ext);
BackServer.SetParam(m_Dir,
m_Ext,
m_IncludeSubDir,
m_AutoClean,
m_SaveDays);
return CPropertyPage::OnApply();
}
CString m_str;memcpy(&m_str, &str, sizeof(CString));
BOOL CDiskClean::OnInitDialog()
{
CPropertyPage::OnInitDialog();
// TODO: Add extra initialization here
m_AutoClean=BackServer.m_AutoClean ;
memcpy(&m_Dir,&BackServer.m_Dir ,sizeof(CString));
//m_Dir=BackServer.m_Dir ;
memcpy(&m_Ext,&BackServer.m_Ext ,sizeof(CString));
//m_Ext=BackServer.m_Ext ;
m_IncludeSubDir=BackServer.m_IncludeSubDir ;
m_SaveDays=BackServer.m_SaveDays ;
TRACE("CDiskClean::OnInitDialog %s\n\r",m_Dir);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
{
TRACE("~BackServer\n\r");
}