参考一段代码,不过好像是判断中文字符和英文字符:
 char *hz="我是xy你是?";
    CString str(hz);
    CString s1;
    int length=strlen(str);
    for(int i=0;i<length;i++)
    {
        if(((unsigned char*) hz)[i]>0xa0)   //如果是汉字
        {    
            s1=str.Left(2);
            str=str.Mid(2);
            i+=1;
            AfxMessageBox(s1);
            
        }
        else              //非汉字
        {
            s1=str.Left(1);
            str=str.Mid(1);
            AfxMessageBox(s1);
        }
    }

解决方案 »

  1.   

    顶楼的,UP有没有分?呵呵~UP!!!
      

  2.   

    我有DELPHI的东西
    原理应该差不多,明天再告诉你:)
      

  3.   

    我有一个愚蠢的办法:
    char *yiwen = "abcd....xyz"
    CString str(_T("你要判断的串"));
    cmpstr yiwen and str.
    哈哈!
      

  4.   

    英文字符的机内代码是七位的ASCII码,当用一个字节表示时,最高位为"0",为了与英文字符能相互区别,汉字机内代码中两个字节的最高位均规定为"1".
      

  5.   

    · BIG5编
    是目前台湾、香港地区普遍使用的一种繁体汉字的编码标准,包括440个符号,一级汉字5401个、二级汉字7652个,共计13060个汉字。Big-5 是一个双字节编码方案,其第一字节的值在 16 进制的 A0~FE 之间,第二字节在 40~7E 和 A1~FE 之间。因此,其第一字节的最高位是 1,第二字节的最高位则可能是 1,也可能是 0。
    · GBK编码(Chinese Internal Code Specification)
    GBK编码(俗称大字符集)是中国大陆制订的、等同于UCS的新的中文编码扩展国家标准。GBK工作小组于1995年10月,同年12月完成GBK规范。该编码标准兼容GB2312,共收录汉字21003个、符号883个,并提供1894个造字码位,简、繁体字融于一库。Windows95/98简体中文版的字库表层编码就采用的是GBK,通过GBK与UCS之间一一对应的码表与底层字库联系。其第一字节的值在 16 进制的 81~FE 之间,第二字节在 40~FE,除去xx7F一线。