CString存储Unicode串出现多余字节问题
程序是在非Unicode环境下(改为Unicode环境涉及到很多函数的修改,麻烦,所以就放弃了修改),我将如下代码运行,发现总是多了几个无用的字符,有什么好的解决方法吗?
CSring str;
//unicode-> Length;
//unicode-> Name;
str = unicode-> Name;
如果unicode-> Name为 "root ",执行结果为str == "root@!&* "
当我的unicode-> Length为某些整数倍时,得到的str是正确的。但是没有达到这个整数倍时,比如不满8个字节时,总是会得到8-unicode-> Length个多余无用字符。
造成这个问题的原因可能是CString内存分配的动态增长。请问,改如何解决这个问题,去掉多余的字符?
[解决办法]
好像是CString的一个bug, GetLength得到的长度应该是正确,可以做一次strncpy