使用UNICODE字符集后,很多函数的LPCTSTR类型参数需要转换,在此做个备份,不用每次都百度。_T()=TEXT().
1.首先CString类很强大,可以自动转换LPCTSTR,所以可以直接用上,后面很多方法也是转换成CString,比如:
CString str("我爱你");
MessageBox(str);
2.字符数组char c[],需要手动转换,给c赋值后,用CString(c)转换使用。比如:
char c[7]="我爱你";
c[6]=0;
MessageBox(CString(c));
3.数字比如int i,long l之类的,需要手动转换,给i和l赋值后,用CString类的Format()方法转换。比如:
int i=100;
CString str;
str.Format(_T("%d"), i);
MessageBox(str);
4.TCHAR tc[]字符数组可以直接用上,但是给tc赋值时,要使用_T()的赋值方法,普通的赋值会是乱码,比如:
TCHAR tc[7] = _T("我爱你");
MessageBox(tc);
5.直接用双引号包含的字符串,需要用_T()手动转换,比如:
MessageBox(_T("我爱你"));
各种类型转换LPCTSTR方法
原文:http://www.cnblogs.com/swek/p/4338066.html