首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

CString存储Unicode串出现多余字节有关问题

2014-05-27 
CString存储Unicode串出现多余字节问题程序是在非Unicode环境下(改为Unicode环境涉及到很多函数的修改,麻

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

热点排行