1多字节字符集,如"IT学吧",sizeof内存长度为7,因为前面2个字母各占用一个字节,后面两个汉字各占用2个字节,结尾的\0占用一个字节。strlen即字符串长度的结果为6。

char cs[] = "IT学吧";
int size = sizeof(cs); //7
int len = strlen(cs); //6

 

2宽字节字符集(UNICODE字符集),每个字符均占用2个字节。

 

3windows下通用的方案

这样,会根据项目的字符集设置,使用多字节字符集或者是UNICODE字符集。

TCHAR p[] = _T("IT学吧");
int l1 = sizeof(p);
int l2 = _tcslen(p);