计算采用UTF8编码的字符串长度.
int StringUTF8Len(const char* text){ int i=0,count=0; char ch; while(text[i]){ count++; ch=text[i]; if(ch&0x80){ while(ch&0x80){ ch<<=1; i++; } } else i++; } return count;}
int main(int args,char* argv[]){ HANDLE x; HANDLE y; HANDLE z; char* text="一二三四五六七八九十2"; printf("%d\n",StringUTF8Len(text)); return 0;
输出结果:
11
注意:文本必须是用UTF8编码方式保存.