我们都知道,字符串中的每个字符都占一个字节,但是汉字不同,它占两个字节。而且第一个字节的高位为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;//不存在汉字
}
}
测试结果:
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。