CString 转 char[] 有关问题
CString 转 char[] 问题
CString 转 char[] 问题
CString s;
char inputData[300] ;
s=_T("2008-09-18 5:30:00,,,挂号员");
sprintf( inputData,"%s", s);
//inputData 值为 2
strcpy(inputData, s) //报错 错误 21 error C2664: 'strcpy' : cannot convert parameter 2 from 'CString' to 'const char *'
strcpy(inputData, (LPSTR)(LPCTSTR)s) //inputData 值为 2
WideCharToMultiByte(CP_OEMCP, 0, s, -1, inputData, s.GetLength(), NULL, NULL); //取到2008-09-18 5:30:00,,,挂 ,可能是中文混合长度判断不对的原因
请问 如何将 CString 转 char[]
------解决方案--------------------
首先是unicode的问题,看看你的工程是不是默认unicode,如果是,哪么需要先把unicode转换成多字节的字符串。
其次就是CString是个类,提供一个GetBuffer()方法可以返回char*。。。
CString 转 char[] 问题
CString s;
char inputData[300] ;
s=_T("2008-09-18 5:30:00,,,挂号员");
sprintf( inputData,"%s", s);
//inputData 值为 2
strcpy(inputData, s) //报错 错误 21 error C2664: 'strcpy' : cannot convert parameter 2 from 'CString' to 'const char *'
strcpy(inputData, (LPSTR)(LPCTSTR)s) //inputData 值为 2
WideCharToMultiByte(CP_OEMCP, 0, s, -1, inputData, s.GetLength(), NULL, NULL); //取到2008-09-18 5:30:00,,,挂 ,可能是中文混合长度判断不对的原因
请问 如何将 CString 转 char[]
------解决方案--------------------
首先是unicode的问题,看看你的工程是不是默认unicode,如果是,哪么需要先把unicode转换成多字节的字符串。
其次就是CString是个类,提供一个GetBuffer()方法可以返回char*。。。