c语言如何判断输入的字符串是不是有汉字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言如何判断输入的字符串是不是有汉字相关的知识,希望对你有一定的参考价值。

参考技术A 这是跟汉字的存储方式有关,西文字符用ASCII码的话,一个字节可以表示一个字符,而汉字用的是双字节表示一个汉字。
那么,为了在机器内部区分ASCII码和汉字机内码,就规定汉字的两个字节的最高为都为1.

例如:汉字“啊”的汉字机内码为B0A1H
表示成双字节是这样的10110000 10100001

本程序用的就是判断最高位的方法。

int is_zh_ch(char p)


if(~(p >> 8) == 0) 将p字节进行移位运算,右移8位,这样,如果移位后是0,则说明原来的字节最高位为0,不是1那么也就不是汉字的一个字节。

return 0; //代表不是汉字


return -1;
本回答被提问者和网友采纳

以上是关于c语言如何判断输入的字符串是不是有汉字的主要内容,如果未能解决你的问题,请参考以下文章

C语言判断一句中文里是不是包含的有某个汉字或多个汉字

c++如何判断字符串是不是全为汉字

求c语言高手!!!如何用if判断输入的汉字

在mfc中如何判断输入的是不是为汉字?

一句话判断字符串中是不是有汉字

mysql 判断字符串中是不是有汉字