宽字符与多字符

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

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字符,运行便会看到效果了。

 

 

                

posted @ 2014-03-21 10:26  风走了,雨停了  阅读(447)  评论(0)    收藏  举报