ASCII,Unicode 和通用方式

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);

原文地址:https://www.cnblogs.com/hometown/p/3478785.html