VC中分割文件,文件中有可能混合有中文和英文,也就有可能在分割文件的时候把中文分在两个文件中,如何避免?

解决方案 »

  1.   

    http://www.vckbase.com/document/viewdoc/?id=293
    参考这个分割方法,分割的时候加个判断,因为一个汉字是两个字节组成,用函数IsDBCSLeadByte可以判断一个字节是不是汉字的第一个字节。
      

  2.   

    robinzsy() ( ),的方法我用过,一个汉字的两个字节都是0xa1-oxfe之间,不能判断是不是首字节。
    laiyiling(※陌生人^@^求职中※) ( ) 的方法,我正在尝试。
      

  3.   

    应该考虑到大部分双字节(不仅包括中文)的情况这样就万无一失了, 我记得双字节的文字首字节都是超过127的,你判断一个byte的值如果在0-127以内就可以断开;否则就有可能是双字节,就不断开。还望大家斧正!
      

  4.   

    longj(大哥雁) :根据你所说,可能存在以下情况,连续10000个汉字,都是超过127的,那岂不是都不截断,但实际中汉字与汉字之间是可以截断的,然后这种方法不能做到这一点。
      

  5.   

    也许这个是你需要的:
    http://www.ccw.com.cn/cio/research/info/htm2003/20030915_1485T.asp
      

  6.   

    longj(大哥雁) :根据你所说,可能存在以下情况,连续10000个汉字,都是超过127的,那岂不是都不截断,但实际中汉字与汉字之间是可以截断的,然后这种方法不能做到这一点。  既然找到一个汉字的开头了,再增加一个就断开不就OK了吗?
      

  7.   

    函数IsDBCSLeadByte可以判断一个字节是不是汉字的第一个字节,基本上就用这个思路!
    散分!