双字节:字符串中的每个位置可以包含一个或者两个字节,缺点:如果调用strlen无法确定字符串中有多少个字符,只能告诉你到达结尾0之前有多少个字节
Unicode 宽字节字符集 字符串中的所有字符都是16位占两个字节
优点:很容易的在不同语言之间进行数据交换
能够分配支持所有语言的单个二进制.exe文件或dll文件
提高程序的运行效率
所有的unicode函数均以wcs开头,若要调用unicode函数,只需要用前缀wcs来取代ansi字符串函数的前缀str即可
用户可以创建同时为ansi和unicode进行编译的单个源文件,若要简历双重功能,必须包含TCar.h文件,而不是包含String.h
tchar.h文件中如果定义_unicode ,就会引用wcs这组函数,没有定义,玖应用str函数
若要定义一个ansi和unicode通用的字符串,需使用tchar类型,如果定义了_unicode ,tchar将声明为typeedf wahcr_T tchar
如果没有定义
则 typedef char tchar
字符串前面加"L" 用于告诉编译器改字符串作为unicode字符来编译
_TEXT 宏 如果定义了unicode,则定义为下面的形式
#define _TEXT(X) L
否则
#define _TEXT(X) X
WCHAR UNICODE字符
PWSTR 指向unicode字符串的指针
PCWSTR 指向恒定unicode字符串的指针
Unicode 宽字节字符集 字符串中的所有字符都是16位占两个字节
优点:很容易的在不同语言之间进行数据交换
能够分配支持所有语言的单个二进制.exe文件或dll文件
提高程序的运行效率
所有的unicode函数均以wcs开头,若要调用unicode函数,只需要用前缀wcs来取代ansi字符串函数的前缀str即可
用户可以创建同时为ansi和unicode进行编译的单个源文件,若要简历双重功能,必须包含TCar.h文件,而不是包含String.h
tchar.h文件中如果定义_unicode ,就会引用wcs这组函数,没有定义,玖应用str函数
若要定义一个ansi和unicode通用的字符串,需使用tchar类型,如果定义了_unicode ,tchar将声明为typeedf wahcr_T tchar
如果没有定义
则 typedef char tchar
字符串前面加"L" 用于告诉编译器改字符串作为unicode字符来编译
_TEXT 宏 如果定义了unicode,则定义为下面的形式
#define _TEXT(X) L
否则
#define _TEXT(X) X
WCHAR UNICODE字符
PWSTR 指向unicode字符串的指针
PCWSTR 指向恒定unicode字符串的指针