char *m_cParityBits;
m_cParityBits = Ptemp.GetBuffer(Ptemp.GetLength());
Ptemp.ReleaseBuffer();
这是我的程序,我想把 CString Ptemp转换成char;运行时有错误,错误信息为:
error C2440: '=' : cannot convert from 'wchar_t *' to 'char *'
是何原因,请大家帮忙解决一下!谢谢!
m_cParityBits = Ptemp.GetBuffer(Ptemp.GetLength());
Ptemp.ReleaseBuffer();
这是我的程序,我想把 CString Ptemp转换成char;运行时有错误,错误信息为:
error C2440: '=' : cannot convert from 'wchar_t *' to 'char *'
是何原因,请大家帮忙解决一下!谢谢!
使用WideCharToMultiByte转换。
搜下,例子很多的。
在VC6下没有问题,因为VC6默认是MBCS
如果不想转换,直接设置字符集为MBCS即可
否则可以这样
void ConvertCStringToCharArray(CString &str,char *szContent)
{
#ifdef UNICODE
int nlen = WideCharToMultiByte(CP_ACP, 0, str, -1, NULL, 0, NULL, NULL);
WideCharToMultiByte(CP_ACP, 0, str, -1, szContent, nlen, NULL, NULL);
#else
strcpy(szContent,str.GetBuffer(str.GetLength()));
#endif}