TCHAR,CHAR,LPSTR,LPCSTR,char这几个数据类型有何不同

 

由此可以看出,

CHAR实施上就是unsigned char,WCHAR为宽字符,

TCHAR根据是否支持unicode而不同。

在程序使用sizeof(TCAHR)

当默认设置时,这个值是1

当定义UNICODE宏时,这个值是2

 

 

char是C语言标准数据类型,字符型,至于由几个字节组成通常由编译器决定,一般一个字节。Windows为了消除各编译器的差别,重新定义了一些数据类型,TCHAR,CHAR,LPSTR,LPCSTR,char都是这样。CHAR为单字节字符。还有个WCHAR为Unicode字符,即不论中英文,每个字有两个字节组成。如果当前编译方式为ANSI(默认)方式,TCHAR等价于CHAR,如果为Unicode方式,TCHAR等价于WCHAR。在当前版本LPCSTR和LPSTR没区别,即以零结尾的字符串指针,相当于CHAR *。

你可能感兴趣的:(数据类型)