本节主要介绍两个概念,多字符 和 宽字符
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字符,运行便会看到效果了。