(1)string和char相互转化
string strzz = "1234";
const char* zz=strzz.c_str();
string strvv = zz;//char直接赋值给string就可以了
(2)CString和string相互转化(本质就是宽字符和窄字符的转化)
string strzz = "1234";
CString nn(strzz.c_str());//string转化CString,利用构造函数
USES_CONVERSION;
CString strvv = A2W(strzz.c_str());//string转化CString
string syy = W2A(strM.GetBuffer());/CString转化string
strM.ReleaseBuffer();
(3)L=long,P=指针,c=const, T=由unicode决定,w=宽字符,str=string
LPSTR = char *
LPCSTR = const char *
LPTSTR = TCHAR *
LPCTSTR = const TCHAR *
LPWSTR = wchar_t *
LPCWSTR = const wchar_t *
(4)
LPTSTR和TCHAR*可以直接赋值给CString(宽字符可以赋值给CString)
CString= LPTSTR;
LPTSTR pt=CString.GetBuffer();
string strzz = "1234";
LPSTR nntt = LPSTR(strzz.c_str());//string转化 LPSTR
LPTSTR ptz = A2W(nntt);//LPSTR转化为LPTSTR,窄字符转化为宽字符
(5)
int iN = _ttoi(strM);//CString 转int
int iS=atoi(strzz)//string转int
(6)
nt iz = atoi("1");
string ss = std::to_string(iz);//int转string
CString strb;
strb.Format(_T("%d"), iz);//int转CString
(7)
_bstr_t aa = strM;//string和CString直接赋值给_bstr_t;
strM = LPTSTR(aa);
string ww = LPSTR(aa);
(8)
_variant_t ss = strM;//CString 转 _variant_t
strM = ss.bstrVal;