CString strName;
char * pcName;
char cName[20];//1个字节,-128 到 127 或者 0 到 255
unsigned short sName;
ACHAR * paName;
TCHAR*ptName;
wchar_t *pwName;//2 或 4 个字节,一个宽字节:typedef wchar_t short int;
double dName;//8字节,+/- 1.7e +/- 308 (~15 个数字)
int nName;//4字节,-2147483648 到 2147483647
std::wstring wsName;
std::string ssName;
LPCTSTR 可当做CString 处理
LPCTSTR判空
LPCTSTR lpName;
if (lpName!= NULL && lpName[0] != _T('\0'))
{
//不为空;
}
(1)CString转unsigned short:
CString strName;
unsigned short sName;
sName = _ttoi(strNAme);
(2)CString转化char[20]
(3)CString转TCHAR*
CString strName;
TCHAR*ptName;
ptName = strName.GetBuffer();
(4)char[20]转化ACHAR*
char cName[20];
ACHAR * paName;
paName = _T("cName");
若以上操作不管用就定义一个CString,通过CString作为中间量转化
char cName[20];
CString strName;
strName = cName;
ACHAR * paName;
paName = strName.GetBuffer();
(5)CString转化double、long
CString strName;
double dName;
dName = _tstof(strName);
CString strName;
long lName;
lName = _ttol(strName);
(6)CString转化int
CString strName;
int nName;
nName = _ttoi(strName);
(7)int转CString
int nName;
CString strName;
strName. Format(_T("%d"), nName);
(8)std::wstring转CString
std::wstring wsName;
CString strName;
strName = wsName.c_str();
(9)CString转std::wstring
CString strName;
std::wstring wsName;
wsName = strName. GetString();
(10)std::string转CString
std::string ssName;
CString strName;
strName = ssName.c_str();
(11)CString转std::string
CString strName;
CStringA stra( strName .GetBuffer(0));
std::string ssName(stra.GetBuffer(0));
stra.ReleaseBuffer();
unicode时,先转为非unicode. :
CString strName;
std::string sstrConn;
sstrConn = CT2A(strConn.GetBuffer());
(12) std::string 转化Char*
std::string ssName;
char * pcName = new char(20);
pcName = ssName.data();
pcName = ssName.c_str();
(13) CString转wchar_t *
CString strName;
wchar_t *pwName;
pwName = strName.AllocSysString();