strlen 在处理汉字串时,与处理一般的英文串是一样的,就是计算从串首地址开始检查到'\0'字符的位置,然后计算两个地址的差,返回差值,也就是字符串中有多个字符(字节)
'\0'字符不是汉字的组成部分!
对于一个汉字占几个字节,不同的字符集是不同的,
如果环境变量设置为utf8,则一个汉字占三个字节
如果设置成gbk类,则一个汉字占两个字节
一个汉字占2个字符长度,如下输出10。
#include "stdio.h"
#include
void main()
{
char str[20]="我爱你祖国";
printf("%d\n",strlen(str));
}
一个汉字等于三个字符长度(utf8编码)
夜读离骚拥地炉。。
阿斯顿古代有城管打dhAGDHGDSG VF HGDVGFF VHudbcgfd活动背景嘎巴和功夫城管为股份为故事呢