英文字符数组出现中文乱码

来源:百度知道 编辑:UC知道 时间:2024/06/21 22:43:34
我申请了4个字符数组,想来存英文字母,初始化为4个空格,后显示为4个烫。。。,赋值后显示前4个是我赋的值,后显示烫烫烫烫。。。format后完全乱码。。。为什么啊
m_n32.Format(_T("%s"),m32);
这是我的format语句,有错误吗?
饿。。c++,做mfc,就是定义,char a[4]={' ',' ',' ',' '};
然后我通过一个循环分别给他们又赋了值,例如a,b,c,d
在监视窗口就会看到“abcd烫烫烫烫。。”
然后再format,完全乱码,连前面的abcd也没了

char m32[5]="abcd"; //四个空格和一个'\0'结尾
m_n32.Format("%s", m32);

char a[6]=_T("中国");
m_n32.format(_T("%s", a);

//出现乱码也许是因为你把ASCII当作UNICODE解释了

请问是什么?
C? C++? JAVA?
什么是申请?
出现乱码是因为 默认。因为你什么都没设置
就好像 你 设置了一个数组 a[] 但是里面什么都没有 你还要他输出
就出了默认的 “东西”

c++,做mfc,就是定义,char a[4]={' ',' ',' ',' '};
然后我通过一个循环分别给他们又赋了值,例如a,b,c,d
在监视窗口就会看到“abcd烫烫烫烫。。”

定义为char a[5];
赋值时char a[4]='\0';
应该就可以了