mfc里关于CString的问题 5
这是我一个按钮的事件,我的k[10]是char的,m_key是CString,这样赋值是不是不行?求稳该怎么赋值,让上面这个成立。...
这是我一个按钮的事件,
我的k[10]是char的 ,m_key是CString, 这样赋值是不是不行?
求稳该怎么赋值,让上面
这个成立。 展开
我的k[10]是char的 ,m_key是CString, 这样赋值是不是不行?
求稳该怎么赋值,让上面
这个成立。 展开
2个回答
展开全部
如果CString不是UNICODE就可以的
还可以这么赋值 strcpy_s(k,(LPCSTR)m_key);当然必须要保证k够大,不然装不下m_key就会出错
如果CString是unicode就不能这么赋值,要先转成ANS的才行
CStringA m_key_ans;
m_key_ans = m_key;
strcpy_s(k,(LPCSTR)m_key_ans);
CString是不是unicode由你工程怎么设置的有关
还可以这么赋值 strcpy_s(k,(LPCSTR)m_key);当然必须要保证k够大,不然装不下m_key就会出错
如果CString是unicode就不能这么赋值,要先转成ANS的才行
CStringA m_key_ans;
m_key_ans = m_key;
strcpy_s(k,(LPCSTR)m_key_ans);
CString是不是unicode由你工程怎么设置的有关
更多追问追答
追问
怎么看是不是unicode
追答
vs2008是:属性管理器-debug|win32-常规-字符集,这里可以选
VC6.0是默认非unicode的
只要strcpy_s(k,(LPCSTR)m_key)编译错误,看下错误说明,如果提到宽字节(unicode)不能转多字节(ans)那就说明这个m_key是unicode版本的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询