CString to int
CString str;
int n = _ttoi (str);
CString to LONG
CString str;
int n = _ttol(str) ;
CString to double
CString str ;
double f = _tstof((LPTSTR)(LPCTSTR)str);
or
CString str ;
int nIndexTemp = WideCharToMultiByte(CP_ACP, 0, str, -1, NULL, 0, NULL, NULL);
char *pAnsi = (char*)malloc(nIndexTemp + 1);
ZeroMemory(pAnsi, nIndexTemp + 1);
WideCharToMultiByte(CP_ACP, 0, str, -1, pAnsi, nIndexTemp, NULL, NULL);
double dbl = atof(pAnsi);
free(pAnsi);
CString to LONGLONG
CString str ;
LONGLONG ll = _ttoi64 (str);
CString to BYTE*
CString str;
BYTE* pbt = (BYTE*)(T2A((LPTSTR)(LPCTSTR)str);
// 或有特殊需求可使用 strdup 複製一份,但要記得自己 free 掉
(BYTE*)strdup(T2A((LPTSTR)(LPCTSTR) strContentKey));
CString to char*
CString str;
char* psz = T2A((LPTSTR)(LPCTSTR)str);
CString to unsigned char*
CString str;
unsigned char *ptr2 = (unsigned char*)str.GetBuffer(0);
BYTE* to CString
BYTE* pBuf;
CString str = W2T((LPWSTR)pBuf);
CString to TCHAR*
CString str;
TCHAR *ptc = (TCHAR*)T2W((LPTSTR)(LPCTSTR)str);
// 或
TCHAR *ptc = (LPTSTR)(LPCTSTR)str;
CString to LPWSTR
CString str;
LPWSTR lstr = (LPWSTR)(LPCTSTR)str;