宽字符与多字符

本节主要介绍两个概念,多字符 和 宽字符

1. 多字符:在多字符中规定:asci码只暂用一个字节,中文等一个字符暂用两个z字节。

          那么呢如何区分哪些是中文,哪些是英文的呢,例如:

        "IT 学吧 "的十六进制编码为  73  84 -47 -89 -80 -50 0

         sizeof("IT学吧")

         strlrn("IT学吧")

          缺点:每次扫描都从头开始,以确定字符,效率低。

           优点:节约内存。

2. 宽字符: 每个字符的编码长度均相等,均是两个字符。

         asci码处理:扩充为两个字节在原先的字节前补充一个字节0X00.

          结束符为两个\0.

          sizeof("IT学吧")

          wcslen("IT学吧")

        缺点:内存占用较大

        优点:查找速度快(以两个字符为单位查找所速度快)

 

3.例子:

#include"tchar.h"
#include<iostream>
using namespace std;
void main()
{
 TCHAR p[]=_T("IT学吧");
 int l1= sizeof(p);
 int l2=_tcslen(p);
 cout<<l1<<" "<<l2<<endl;
 return;

 }

   在项目属性->常规->字符集

    分别选择:使用多字符字节 和 使用Unicode字符,运行便会看到效果了。

 

 

                

转载于:https://www.cnblogs.com/yfyzy/p/3615296.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值