CSting转int
bufNum =strtol(str.GetBuffer(),NULL,10); //这个在 字符集:使用多字节字符集 好使
swscanf_s(str.GetBuffer(0),_T("%x"),&bufNum);//这个在 字符集:使用Unicode字符集 好使
bufNum = _ttoi(str); //10进制
swscanf_s(str.GetBuffer(0),_T("%x"),&bufNum); //十六进制
int转 CSting
str.Format(_T("%04x"),bufNum );
CString 转string
CString cstr("chinazhangjie");
string str = (CStringA)cstr;
string 转 char *
如:
string str="abc";
const char *p=str.data();
2.c_str
如:string str="gdfd";
const char *p=str.c_str();
//一个带\0,一个不带
int转string//这方法不太好
char buf[10];
sprintf_s(buf, "%d", m);
string mStr = buf;
string转int
int i;
sscanf("17","%D",&i);
cout<<i<<endl; // 17
sscanf("17","%X",&i);
cout<<i<<endl; // 23
CSting 转 LPWSTR //unicode 字符集
wcscpy(pT->lpszText,T2W((LPTSTR)str.GetBuffer(NULL))); // CString 转换为 LPWSTR
str.ReleaseBuffer();
或
USES_CONVERSION;
pT->lpszText = (LPWSTR)A2CW(W2A(str));
str.ReleaseBuffer();
CSting 转 LPCWSTR//unicode 字符集
wcscpy(pT->lpszText,T2W((LPTSTR)str.GetBuffer(NULL))); // CString 转换为 LPWSTR
str.ReleaseBuffer();
或
USES_CONVERSION;
pT->lpszText = A2CW(W2A(str));
str.ReleaseBuffer();