搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 关于linux下用C数组处理中文的问题~~~
标题:
关于linux下用C数组处理中文的问题~~~
取消只看楼主
CLuck
等 级:
论坛游民
帖 子:23
专家分:17
注 册:2011-5-6
结帖率:
100%
楼主
已结贴
√
问题点数:10 回复次数:4
关于linux下用C数组处理中文的问题~~~
最近在做一个题,题目中有些中文需要处理,于是本人就用到了二维数组,却发现输出时总会有乱码,而在虚拟机中的windows下做同样的测试,却一切正常,求解~~~
数组定义为char型a[2][3],存两个汉字,然后输出这两个汉字,后面就总会带着一些乱码。定义一维数组a[3]存一个汉字时也是一样,输出该汉字后还带乱码。我在想是不是数组的最后一位中的“\0”在作祟,有谁了解的,还望多多指教.
搜索更多相关主题的帖子:
虚拟机
windows
中文
汉字
2012-05-11 12:19
CLuck
等 级:
论坛游民
帖 子:23
专家分:17
注 册:2011-5-6
第
2
楼
得分:0
我知道编码是不同的,我也用unicode编码试过了,可输出的时候还是有乱码,我就想知道怎么解决数组输出后带乱码的问题?
2012-05-11 12:58
CLuck
等 级:
论坛游民
帖 子:23
专家分:17
注 册:2011-5-6
第
3
楼
得分:0
那好吧,我就是写了个测试的小程序
#include <stdio.h>
main()
{
char a[2][3]={"存","放"};
printf("%s ",a[0]);
printf("%s ",a[1]);
}
存两个字,因为一个汉字是两个字节,而按字符串存的时候末尾有个"\0"结束符,所以我定义的数组大小是a[2][3]。这个程序在windows下面没什么问题,可是在我的linux下,输出了“存”,“放”两个字后,后面还有几个字节的乱码。如图:
2012-05-11 13:46
CLuck
等 级:
论坛游民
帖 子:23
专家分:17
注 册:2011-5-6
第
4
楼
得分:0
刚改了下,能行了。太感谢了,以前我们学的都是基于windows的,我是自己转到里linux下的,以前只知道汉字是占两个字节,却不知道utf-8下是3个字节,受教了
,谢谢版主!
2012-05-11 13:58
CLuck
等 级:
论坛游民
帖 子:23
专家分:17
注 册:2011-5-6
第
5
楼
得分:0
哦,这部分我还得找点资料好好看看啊。
2012-05-11 17:17
5
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-367331-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 1.921713 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved