windows核心编程 第二章学习

本文探讨了双字节字符集及其在不同语言间的应用优势,详细解释了Unicode宽字节字符集的特点,并介绍了如何在编程中实现ANSI与Unicode字符串的兼容处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

双字节:字符串中的每个位置可以包含一个或者两个字节,缺点:如果调用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字符串的指针
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值