Windows为了消除各编译器的差别,重新定义了一些数据类型。
CHAR为单字节字符。char是C语言标准数据类型,字符型,至于由几个字节组成通常由编译器决定,一般一个字节。
WCHAR为Unicode字符,即不论中英文,每个字有两个字节组成。
如果当前编译方式为ANSI(默认)方式,TCHAR等价CHAR,如果为Unicode方式,TCHAR等价于WCHAR。在当前版本LPCSTR和LPSTR没区别,即以零结尾的字符串指针,相当于字符串数组,即CHAR 【】。
下面给出两个例子,一个是直接赋值,另一个是间接的。
Ex1: LPSTR lpstrMsg = "I'm tired.";
Ex2: char strMsg[]="I'm tired.";
LPSTR lpstrMsg = (LPSTR) strMsg