1、TCHAR p[] = _T("IT 学吧"),sizeof(p)与_tcslen(p)有何区别?
sizeof是求字符串所占的内存字节数(要计算结束字符),_tcslen是求字符串的字符长度(不计算结束字符).(注意:字节数 != 字符长度)
2、中英文字符(32位操作系统)分别占几字节?
一个中文字符占2字节,一个英文字符占1字节
3、各种字符集在内存中的排列
//在宽字节(unicode)字符集下:
一个字符占2个字节,一个中文字符是1个字符,一个英文字符也是1个字符(在此模式下,英文字符实际占一个字节,自动在英文字符前添加'\0',构成2字节的一个字符)
//在多字节字符集下:
一个字符占1个字节,一个中文字符是2个字符,一个英文字符是1个字符
4、程序实例
1 int _tmain(int argc, _TCHAR* argv[]) 2 { 3 //在Unicode字符集下 4 wchar_t p1[] = L"It 学吧"; 5 int l1 = sizeof(p1); 6 int l2 = wcslen(p1); 7 8 //在多字符集下 9 char p2[] = "It 学吧"; 10 int l3 = sizeof(p2); 11 int l4 = strlen(p2); 12 13 return 0; 14 }
5、示例结果
l1 = 12, l2 = 5, l3 = 8, l4 = 7
我喜欢一无所有,这样就只能一步一步的创造世界...

浙公网安备 33010602011771号