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