C语言宽字节(在汇编角度看)

下一篇:游戏外挂基础:win32API中的宽字符
char a=‘A’
char a[]=“我是”
wchar_t a2[] =L“我是”
第一个是字符型,在内存中以ascii存储,上期我们也说到ascii擅长表示字英文母,反汇编直接就是ascii的16进制
在这里插入图片描述

第二个数组也是以ascii表示的汉字,这里用字母表示方便,直接跟到地址(这些常量都是已经分配好的),可以看到存的就是ABC,后面还有数组特有的一个0结尾
在这里插入图片描述

第三个是以utf-16在内存中表示的,这就是所谓的宽字节,还是老样子两个字节为一单位存储,可以看到此处都是以两个字节为单位存储的(确实浪费空间),最后以一个单位的00结尾,所以通过这里发现数组结尾是与当前数组用的格式有关
在这里插入图片描述

既然是宽字节了,那么普通的strlen肯定也不能用来计算长度了,得用配套函数wcslen,打印函数也变了,成了wprint,更多函数大家自行百度看看,一看就会
在这里插入图片描述下一篇:win32API中的宽字符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值