char * CStringtochar(CString str)
{
char *ptr;
#ifdef _UNICODE
LONG len;
len = WideCharToMultiByte(CP_ACP, 0, str, -1, NULL, 0, NULL, NULL);
ptr = new char [len+1]; memset(ptr,0,len + 1);
WideCharToMultiByte(CP_ACP, 0, str, -1, ptr, len + 1, NULL, NULL);
#else
ptr = new char [str.GetAllocLength()+1];
sprintf(ptr,_T("%s"),str);
#endif
return ptr;
}
CStringtochar
本文提供了一个将CString转换为char*的示例代码。该示例首先判断编译是否支持Unicode,在支持的情况下使用WideCharToMultiByte进行转换;不支持则直接通过sprintf复制字符串。
1143

被折叠的 条评论
为什么被折叠?



