CB在Windows系统中程序输出中文时出现乱码

前几天在cb写代码的时候出现中文乱码(如下)

本来也是新手,啥都不会,只能到处查解决方法。网上确实有,但是不知道为什么我的CB还是会出现各种奇葩状况。后来在一本教材里面找到了解决方法如下(疯狂感谢这位老师!!!):

在Windows系统中程序输出中文时,如果出现乱码,则很可能是编码方式不一致导致的,例如UTF-8和GBK发生冲突。如果一个文件本来是以UTF-8编码方式保存的,但是以GBK编码方式打开,就会出现乱码。有两种解决方法:
第一种解决方法:用UTF-8打开文件。UTF-8是Linux系统中常用的中文编码方式,MinGW是gcc的编译器,默认是UTF-8编码方式,但是单击下拉菜单Settings→Editor→Encoding Setting,如图2-72所示,可以看到默认的编码方式是WINDOWS-936(其实就是GBK)。此时可以把文件打开的编码方式修改为UTF-8,如图2-73所示。修改完设置后必须重新保存文件才有效,这意味着以后保存的文件都是UTF-8编码,因此相比于第一种解决方法,更推荐使用第二种解决方法。

第二种解决方法:仍使用WINDOWS-936编码方式打开和保存文件,但是让编译器使用GBK编码编译程序,即图2-72中的设置保持不变,仍勾选作为默认的编码格式,但是打开下拉菜单Settings→Compiler→Other compiler options,文本框中输入下面

两行内容:

-finput-charset=GBK

-fexec-charset=GBK

然后单击0K按钮,重新保存文件,就可以让编译器使用GBK编码编译程序了

当时CB出现状况没截图,就用了书上的图

参考教材《C语言程序设计学习指导(第4版)》

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值