MFC 字符串问题

我用的是vc++6.0用chara[200];和cstring转换老出现乱码怎么样才可以去掉这后面出现的乱码呢?... 我用的是 vc++6.0
用 char a[200];
和 cstring 转换 老出现乱码
怎么样才可以去掉这后面出现的乱码呢?
展开
 我来答
江半仙3e6e
2009-05-02 · TA获得超过4890个赞
知道大有可为答主
回答量:2251
采纳率:0%
帮助的人:1539万
展开全部
是从char到WCHAR的转化还是反过来的呀?只能将char转化为WCHAR,即使用CString::Format(_T("%s"), a);或者是采用for循环和CString::operator+将a[i]逐个地加到CString当中去。

但是反过来转化是没有任何意义的。因为WCHAR(Unicode)字符占两个字节,而char占一个字节,双字节是无法转化为单字节的。最简单的讲:汉字的数量是远远超过英文字符的。所以汉字需要使用双字节来表示;如果强行将汉字用单字节(ASCI字符共有256个)表示,那这种表示是没有意义的。因为该字符集的数量远远小于汉字数量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
成功还宝贵灬宝贝I
2009-05-04 · TA获得超过280个赞
知道答主
回答量:98
采纳率:0%
帮助的人:0
展开全部
首先用测试出数组的大小 然后把数组的实际长度以为的元素归零
然后将c风格字符串 转为cstring
例子:
char a[200];
.....//对a字符数组赋值
DWORD arrayLong;
......//或者已经读入的数组的字符个数
a[arraryLong] = 0;
CString str;
str = a;
就可以了
有什么问题 可以继续交流
祝你好运
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ACM算法日常
2009-04-30 · 超过26用户采纳过TA的回答
知道答主
回答量:143
采纳率:0%
帮助的人:49.2万
展开全部
CString转换到char由于字符集的不同而不同,若是unicode的话strcpy就行不通哦~MSDN上有相应的unicode版本说明。自己多看看MSDN吧,那里什么都有。
char转到CString直接写就可以了,如char a[100]="hello";CString str=a;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千里牛马
2009-04-30 · TA获得超过127个赞
知道答主
回答量:103
采纳率:0%
帮助的人:0
展开全部
CString 转char :strcpy(a,str);
char 转CString:str.format("%s",a);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式