• c c++怎么判断一个字符串中是否含有汉字


    c c++怎么判断一个字符串中是否含有汉字

     (2013-02-05 10:44:23)
       

    #include  
    #include  

    int main() 

    char sztext[] = " 是ciw."; 
    char c = 0; 
    char szchinese[3] = {0}; 

    int i = 0, nlen = strlen(sztext); 
    for(; i < nlen; i++) 

    if( sztext[i] >= 0 && sztext[i] <= 127 ) //不是全角字符?
    c = sztext[i], printf("%c ", c); 
    else //是全角字符
    szchinese[0] = sztext[i], szchinese[1] = sztext[i + 1], printf("%s ", szchinese), i++; //中文是2个字节,所以i++


    return 0; 
    }

    #include  

    int IncludeChinese(char *str)//返回0:无中文,返回1:有中文
    {
       char c;
       while(1)
       {
           c=*str++;
           if (c==0) break;  //如果到字符串尾则说明该字符串没有中文字符
           if (c&0x80)        //如果字符高位为1且下一字符高位也是1则有中文字符
                   if (*str & 0x80) return 1;
       }
       return 0;
    }

    首先,汉字是双字节的编码格式!   
      汉字的第一字节:是从0xB0   开始编码   
      汉字的第二字节:是从0xA1   开始编码   
      有了以上的了解,就不难识别出是中文,还是其他的编码!   
       程序中只需要判断(   第一字节>=0xB0   &&   第二字节>=0xA1   )就好!  

  • 相关阅读:
    JAVA代码格式 Google-java-format VS AlibabaP3C
    推荐Java代码规范的几个插件
    muduo 库解析之六:Exception
    muduo 库解析之五:CurrentThread
    muduo 库解析之二:TimeStamp
    muduo 库解析之一:Copyable 和 NonCopyable
    YUV
    Windows 下 ffmpeg 的安装和测试
    QImage 与 Mat 转换时图像倾斜
    qBreakpad
  • 原文地址:https://www.cnblogs.com/hardsoftware/p/6209051.html
Copyright © 2020-2023  润新知