C++的字符分成两种类型wchar_t和char。
其中 WCHAR==wchar_t,CHAR==char。
TCHAR是一种条件编译的类型,根据条件可以代表wchar_t或char。
#ifdef UNICODE
typedef wchar_t TCHAR;
#else
typedef unsigned char TCHAR;
#endif
typedef unsigned char CHAR;
typedef unsigned wchar_t WCHAR;
CHAR为单字节字符。还有个WCHAR为Unicode字符,即不论中英文,每个字有两个字节组成。如果当前编译方式为ANSI(默认)方式,TCHAR等价于CHAR,如果为Unicode方式,TCHAR等价于WCHAR。在当前版本LPCSTR和LPSTR没区别,即以零结尾的字符串指针,相当于CHAR *。 LPSTR、LPCSTR相当于char *,所以这种类型变量的赋值等同于char *的赋值。
Ex1: LPSTR lpstrMsg = "I'm tired.";
Ex2: char strMsg[]="I'm tired.";
LPSTR lpstrMsg = (LPSTR) strMsg;
unsigned short * 和 char* : 一个是宽字符,一个是多字节,两种编码是不一样的。
如果你的程序要想在全球发布,一定要使用宽字符Unicode,
TChar strFileName[MAX_PAT