我们都知道,字符串中的每个字符都占一个字节,但是汉字不同,它占两个字节。而且第一个字节的高位为1,第二个字节的高位也为1.我们可以利用这个特点来判断字符串中是否含有汉字。
代码实现:
bool IsTrue(char* p) { while(*p) { if((*p&0x80) && (*(p+1)&0x80))//第一个和第二个字节的高位都为1 { return true; } else p++; } return false; } int main() { char *str = "inhgxj我kjh"; bool ret = IsTrue(str); if(ret == true) { cout<<"have"<<endl;//存在汉字 } else { cout<<"no have"<<endl;//不存在汉字 } }
测试结果:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。