ASCII码
字符char,字符指针char*,字符数组char a[];
例如:char a='A';
char* pC="beijing";
char aC[]="beijing";
Unicode码
字符wchar_t,字符指针wchar_t*,字符数组wchar_t a[];
例如:wchar_t b='A';
wchar_t* pB=L"beijing"; //L代表long.
wchar_t bC[]=L"beijing";
通用码:维护单一原始码,既能按ASCII编译又能按Unicode码编译。
TCHAR根据实际情况判断为char或wchar_t.
在用VC++做程序时,windows系统自己定义了一套相关的宏。
char àCHAR wchar_t àWCHAR
与TCHAR.H一样,WINNT.H也将TCHAR定义为通用的字符类型。
指向CHAR的指针。
typedef CHAR *PCHAR, *LPCH, *PCH, *NPSTR, *LPSTR, *PSTR;
typedef CONST CHAR *LPCCH, *PCCH, *LPCSTR, *PCSTR;
指向WCHAR的指针。
typedef WCHAR *PWCHAR, *LPWCH, *PWCH,*NWPSTR, *LPWSTR, *PWSTR;
typedef CONST WCHAR *LPCWCH, *PCWCH,WCHAR *LPCWSTR, *PCWSTR;
指向TCHAR的指针PTCHAR.
LPCTSTR L指long,P代表指针,C代表const,T说明是通用的,STR表示为字符串类型
CString 与LPCTSTR是可以互相转换的。
例如:CString str=TEXT("北京");
LPCTSTR pStr=str;
LPCTSTR pStr1=TEXT("beijing");
CString str1=pStr1;
GetDlgItem(IDC_EDIT1)->SetWindowTextW(pStr);
GetDlgItem(IDC_EDIT2)->SetWindowTextW(str1);