//----------------------------------------------------------------------------------------------------------------------------------------
//CString字符串转换为char类型串
//
char* CStringToChar(const CString str, char *pDest)
{
#ifdef _UNICODE
::WideCharToMultiByte(CP_ACP, 0, str, str.GetLength(), pDest, STRING_MAX_LEN, 0, 0);
#else
pDest = (LPCTSTR)str
#endif
return pDest;
}
//----------------------------------------------------------------------------------------------------------------------------------------
//char类型串 转换为 CString字符串
//
void CharToString(const char *pSource, CString &strDest)
{
if (pSource == NULL)
{
return;
}
size_t chLen = strlen(pSource);
TCHAR *pchTemp = new TCHAR[chLen + 1];
memset(pchTemp, 0, (chLen + 1) * sizeof(TCHAR));
::MultiByteToWideChar(CP_UTF8, 0, pSource, strlen(pSource), pchTemp, (chLen+1) * sizeof(TCHAR));
strDest = CString(pchTemp);
delete[] pchTemp;
}
//----------------------------------------------------------------------------------------------------------------------------------------
本文详细介绍了在C++中将CString字符串转换为char类型字符串以及将char类型字符串转换为CString字符串的方法,包括Unicode与非Unicode的转换过程。
789

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



