根据你的自定长度把CString分开
只要在分开的地方不拆散一个汉字就行了
GB范围:
第一个字节:0xb0-0xff 第二个字节0xa0-0xfe
满足上面条件的你就别拆

解决方案 »

  1.   

    还有一个方法:
    if(IsDBCSLeadByteEx( 936, str[i] ) )
    那么str[i]和str[i+1]就是一个汉字
    你就需要在str[i-1]换行
    搞定?
      

  2.   

    问题是你怎么知道第一个字节:0xb0-0xff 第二个字节0xa0-0xfe交叉范围内是第一个字节
    还是第二个字节?
      

  3.   

    我需要知道的是怎么判断str[i]是一个汉字的上半部分还是下半部分?
      

  4.   

    如果必须从字符串的头开始判断对于大文件或太长的CString速度就太慢了
      

  5.   

    好像没有别的办法,呵呵
    其实你也应该见过一个汉字的后半段和下一个汉字的前半段构成新汉字的情况
    也就是说,一个asc字符既可能是一个汉字的后半段也可能是下一个汉字的前半段
      

  6.   

    参看http://www.csdn.net/expert/Topic/190/190379.shtm