如何判断?谢谢

解决方案 »

  1.   

    从CString中取出一个字符,看它的值是大于0还是小于0。汉字编码每个字节的最高位都是1,所有它的值是小于0的。
      

  2.   

    对,逐个遍历字符串中的每一个字符,判断起ASC码值。
    如果有一个<0 表明其中有汉字。否则为字符串。CString sDest;
    char ch;
    BOOL bHz=FALSE;
    for (int i=0;i<sDest.GetLength();i++)
    {
      ch=sDest.GetAt(i);
      if (ch<0) 
      {
        bHz=TRUE;
        break;
      }
    }if (bHz)
       //汉字
    else
       //字符
      

  3.   

    汉字占两个字节,下面是判断字符是否为中文的代码,参数是要判断的两个字节内容,bool IsHZCode(unsigned char bC1,unsigned char bC2)
    {
    if((bC1>=0xa1)&&(bC1<=0xfe)&&
    (bC2>=0xa1)&&(bC2<=0xfe))
     return    true;    return   false;
    }
      

  4.   

    楼上两层的大哥,0xa1和0xfe指代的是什么?通过判断第一个字符是否为负不行么?
      

  5.   

    你可以对每个char*进行遍历,若遇到值大于127,就取两个字节,否则取单字节