我们都知道,字符串中的每个字符都占一个字节,但是汉字不同,它占两个字节。而且第一个字节的高位为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;//不存在汉字 } }
测试结果:
时间: 2024-11-13 10:05:03