DevC++ 6.3 程序输出中文乱码问题 秒解
最新版的DevC++ 6.3 作为学习C、C++言的工具,小巧方便。
https://github.com/Embarcadero/Dev-Cpp/releases
但编译后程序输出的中文为乱码,确实不方便。
网上的方案有修改OS语言配置,改后操作系统会不好用。
我测试了一下,不需要更改OS任何配置,秒解该难题。
完整测试步骤:
一、输出程序乱码截图 和测试用例
程序输出乱码截图:
源程序:
#include#includevoid sushu(int n);int main(){int a;printf("Pls input a number:");scanf("%d",&a);sushu(a);return 0;}void sushu(int n){int i;for(i=2;i<n;i++){printf("%d %d ",n%i,i);if(n%i==0){printf("%d 是素数",n);break;}else{printf("%d 是素数",n);}}}
二、秒解方法 与存在问题
1、创建文件并保存
DevC++ 6.3 创建新的源码文件,剪贴复制示例程序,保存文件。
此时若编译并运行文件,程序输出会显示乱码:
2、文件菜单选择“另存为” ,encoding 选择 ansi。
编译运行,显示正常:
搞定! 还要等等。
**该方式还有其它问题:
1、文件容只要有改动,使用保存图标保存,问题依旧,程序运行出乱码。
还要在修改后再次执行另存为 encodeing :ansi, 再编译后正常。
2、当你重新打开另存为的文件时,还有个吓人的提示:文件不能打开,应该申报个bug。
三、真正有效且无后患 秒解
设置DevC++6.3的编译参数: -fexec-charset=GBK -finput-charset=UTF-8
具体操作步骤:菜单“工具”–“编译选项”
在编译时加入以下命令中输入: -fexec-charset=GBK -finput-charset=UTF-8
终于不用额外操作就可以正常使用了。
其它问题
DevC++ 6.3 程序编辑界面中文不显示,选中才显示。
选择中文字体即可解决。