1、ANSI中的字符采用8bit,而UNICODE中的字符采用16bit。(对于字符来说ANSI以单字节存放英文字符,以双字节存放中文等字符,而Unicode下,英文和中文的字符都以双字节存放)Unicode码也是一种国际标准编码,采用二个字节编码,与ANSI码不兼容。
2、LPCSTR是Win32和VC++所使用的一种字符串数据类型。LPCSTR被定义成是一个指向以NULL(‘\0’)结尾的常量字符的指针。
LPCSTR pFileClr = UnicodeToAnsi( strFile );
char* pChar = (char*)::UnicodeToAnsi( sName ); CString转char*
TCHAR* pTemp = strTemp.GetBuffer(strTemp.GetLength()); CString -> TCHAR*
LPCSTR pWellID = UnicodeToAnsi( strFmt.GetBuffer( strFmt.GetLength() ) ); CString -> LPCSTR
CString转LPCTSTR
CString cStr;
const char *lpctStr = (LPCTSTR)cStr;
LPCTSTR转CString
LPCTSTR lpctStr;
CString cStr = lpctStr;
在unicode环境下:
TCHAR array[]=_T(“AAA”);
CString str;
str.Format( _T("%s"), array ); //不加_T报错,工程是UNICODE的
AfxMessageBox(str);