C++里怎样判断字符串中含有汉字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++里怎样判断字符串中含有汉字相关的知识,希望对你有一定的参考价值。

//返回0:无中文,返回1:有中文
int IncludeChinese(char *str)

   int nRet = 0;
   char c;
   while(c=*str++)
   
  //如果字符高位为1且下一字符高位也是1则有中文字符
  if( (c&0x80) && (*str & 0x80) )
  
  nRet = 1;
  break;
  
   
   return nRet;

参考技术A 用正则表达式,对应的库,有BOOST,还有C++11都有

iOS判断字符串中含不含有汉字

方法一:

- (BOOL)hasChinese:(NSString *)str {

    for(int i=0; i< [str length];i++){

        int a = [str characterAtIndex:i];

        if( a > 0x4e00 && a < 0x9fff)

        {

            return YES;

        }

    }

    return NO;

}

 

方法二:

- (BOOL)isHasChineseWithStr:(NSString *)strFrom {

    for (int i=0; i<strFrom.length; i++) {

        NSRange range =NSMakeRange(i, 1);

        NSString * strFromSubStr=[strFrom substringWithRange:range];

        const char *cStringFromstr = [strFromSubStr UTF8String];

        if (strlen(cStringFromstr)==3) {

            //汉字

            return YES;

        } else if (strlen(cStringFromstr)==1) {

            //字母

        }

    }

    return NO;

}

以上是关于C++里怎样判断字符串中含有汉字的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 判断表字段里字符串是不是含有汉字

判断字符串中是不是含有中文

怎样判断一个字符是否汉字呢??

java判断字符串中是否含有汉字

Java 判断字符串是不是含有所有特殊符号?

C#-判断字符中是否含有汉字的两种方法,并提取汉字