怎么判断一个字符串中含有汉字?

解决方案 »

  1.   

    判断它的ASCII码是否介于A,z之间即可,以前的贴子有讨论,去搜索一下
      

  2.   

    建立一个临时字符串CString t,把数据拷贝进来
    然后调用CString::Remove把小于161的全部删除,如果长度不是0,那么就有汉字
      

  3.   

    CString ss="hello 你好!";
    BOOL bCh=FALSE;//是否有中文
    for(int i=0;1<(int)strlen(ss);i++)
    {
        if((BYTE)ss[i]>=0xa1)
            bCH=TRUE;
    }
      

  4.   

    papaya_stone,如果有两个连续制表符,制表符>0xa1,你不就判断错误吗?
      

  5.   

    IsMBLead, IsMBTail,好像是这两个函数
      

  6.   

    用函数_mbsbtype并结合_mbsinc来判断。
      

  7.   

    >=0xa1只是全角符号(包括中文),>=0xb1就肯定是汉字了:)
      

  8.   

    ascll高位为0。
    为1的是汉字。
      

  9.   

    >=0xb1不一定就是汉字,你翻翻ascii表就知道了
      

  10.   

    ascii表也有不同的版本
    好像ms使用的ascii表跟国际标准略有差别
    至于字符内码,相同的内码对不同的code page就指向
    不同的字符
    ::IsDBCSLeadByte用的是ANSI code page
    用::IsDBCSLeadByteEx可以制定code page来检测