0%

C++字符

C++中各类型字符区别

字符通常可用1个或两个字节表示;
ANSI编码中一个字符使用一个字节表示;
Unicode编码中一个字符使用两个字节表示

Visual C++编译器支持TCHAR、WCHAR、LPSTR、LPWSTR、LPCTSTR 的 ANSI 和 Unicode 字符。

char

C语言标准数据类型,字符型
由几个字节组成通常由编译器决定,一般一个字节。

CHAR

ANSI字符
英文用一个字节,中文用两个字节

WCHAR

Unicode字符
每个字符有两个字节组成。

TCHAR

当前编译方式为ANSI(默认)方式,TCHAR等价于CHAR
如果为Unicode方式,TCHAR等价于WCHAR

1
2
3
4
5
#ifndef _UNICODE
typedef char TCHAR;
#else
typedef wchar_t TCHAR;
#endif

LPSTR

LPSTR 是长指针字符串。它要么是char 要么是 wchar_t 取决于 uopn
uncicod 是否定义。 其中
LP 代表长指针
STR 代表字符串
LPSTR 表示 CHAR 或长指针常量的常量以空结尾的字符串

LPWSTR

LPWSTR 是一个指向 32 位 Unicode 字符字符串的 16 位指针
它是 WCHAR 类型的以 null 结尾的字符串或长指针 wchar 类型的字符串

LPCTSTR

LPCSTR 是一个 32 位指针,指向以 8 位 Windows (ANSI) 字符的常量 null 结尾字符串