1 /**********************************************************************
2 * 函数名称: gbk_strlen
3 * 功能描述: 计算含有汉字的字符串长度,汉字作为一个字符处理
4 * 输入参数: 需要计算的字符串
5 * 输出参数:
6 * 返 回 值: 字符串长度
7 * 其它说明:
8 * 修改日期 版本号 修改人 修改内容
9 * -----------------------------------------------
10 *
11 ***********************************************************************/
12 int gbk_strlen(const char* str)
13 {
14 const char* p = str; //p用于后面遍历
15 while(*p) //若是结束符0,则结束循环
16 {
17 if(*p < 0 && (*(p+1)<0 || *(p+1) < 63)) //中文汉字情况
18 {
19 str++; //str移动一位,p移动移动2位,因此长度加1
20 p += 2;
21 }
22 else
23 {
24 p++; //str不动,p移动一位,长度加1
25 }
26 }
27 return p-str; //返回地址之差
28 }
更多内容请访问 www.uusystem.com