rtchar chinese[16];
strcpy( chinese, "中文" );

解决方案 »

  1.   

    if( chinese[0]>0x8000 )????
      

  2.   

    遍历字符串,if( chinese[0]<0 )如果小于零,则和下一个字符组成一个汉字
    一般没问题
      

  3.   

    好像是chinese[0]<0,, 而不是 >0x7f ,但为什么呢?
    从内存中看到的的确是大于7f的数呀???
      

  4.   

    判断字符串含中文字符串吧!!!!
    根据ASCII
    可以用位操作!
      

  5.   

    GBK范围:
    1st byte    2nd byte
    0x81~0xfe   0x40~0x7e and 0x80~0xfe
      

  6.   

    之所以是chinese[0]<0 而不是 chinese[0]>0x7f 是因为char类型能表示的整数范围是-128到127,也就是说大于0x7f的数读出来就是负数了,如char类型存放0xff时就表示-1这个数,存放0x80则表示-128,看完补码的概念你就明白了。如果定义unsigned char chinese[0],就应该用chinese[0]>0x7f而不是chinese[0]<0,因为unsigned char类型表示的整数范围是0到255。
      

  7.   

    中文字符占2个字节,且其值大于0x8000。
    与ascii值去判断