char TCHAR CString string String之间的区别
char TCHAR String CString w_char string之间的区别
char是一种类型。
TCHAR是通过宏定义的类型,统一了ANSI和UNICODE,通过宏来自动匹配不同的字符串处理函数。
#include<tchar.h>
TCHAR szWindowText[256]=_T("QQ");
String,CString他们都是一种封装了字符串处理的类,包含了各种操作字符串的函数。
CString是VC的类库。
string是标准C++的类库。
string.h是C的库函数文件。
/***CString转化为TCHAR***/
TCHAR* CString2TCHAR(CString& str)
{
int iLen = str.GetLength();
TCHAR* szRs = new TCHAR[iLen];
lstrcpy(szRs, str.GetBuffer(iLen));
str.ReleaseBuffer();
return szRs;
}
/***TCHAR转化为char* ***/
char* TCHAR2char(TCHAR* tchStr)
{
int iLen = 2*wcslen(tchStr);
char* chRtn = new char[iLen+1];
wcstombs(chRtn, tchStr, iLen+1);
return chRtn;
}
#ifdef UNICODE
typedef wchar_t TCHAR
#else
typedef unsigned char TCHAR
#endif
typedef unsigned char CHAR
typedef unsigned wchar_t WCHAR
当不是unicode时,sizeof(TCHAR)=1;当定义UNICODE宏时,sizeof(TCHAR)=2
短字符与宽字符
短字符:就是用8bit表示的字符,典型是ASCII码。宽字符:就是用16bit表示的字符,典型是UNICODE码。
posted on 2012-06-21 17:56 ActiveChange 阅读(258) 评论(0) 收藏 举报