GetAt(5)在不同的运行平台下有不同的结果。由于windows nt采用Unicode字符,所以GetAt(5)返回的是"大"的值,具体说是一个short型的整型值;而window98采用的单字节字符集,所以GetAt(5)将返回值的最高比特位是1,也就是扩展AscII字符,不可显示。

解决方案 »

  1.   

    我所设置的cstring是 对话框的edit控件的成员, 我要对该字符串每10个元素(字母,或者汉字)后添加一个换行。如何做呢?如何声明unicode, 在win98  和 winNT2000
      

  2.   

    CString类会自动根据操作系统使用不同的字符集,
    所以在win2000下,只要每隔10个元素插入一个回车就可以了,
    不管这十个字符是字母还是汉字;而在win98下要稍微麻烦一点,
    先要把第十个字符取出, 然后调用IsDBCSLeadByte进行判断一下,
    如果返回真,则要在下一个字符后才能插入回车,如果返回假,
    就可以立即插入回车。