codeblocks中文输出提示出错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codeblocks中文输出提示出错相关的知识,希望对你有一定的参考价值。
这是codeblocks 12.11版本
codeblocks中文输出提示出错,是设置错误造成的,解决方法如下:
1、首先打开Code Blocks软件,会看到顶部的菜单栏都是英文的,这代表当前的语言环境是英文,如下图所示。
2、接下来下载Code Blocks的汉化包文件,解压汉化包,会看到locale.zip压缩文件,将其解压。
3、解压了locale.zip压缩文件以后,复制它里面的locale文件夹,注意复制的层级路径。
4、接下来进入Code Blocks安装目下下的share文件夹,然后打开CodeBlocks文件夹,将刚才复制的locale文件粘贴到这里面。
5、然后进入Code Blocks软件,点击顶部的Settings菜单,选择下拉菜单中的Environment选项。
6、在Environment settings界面中,点击左侧的View选项,勾选右侧的Internationalization选项。
7、然后在语言下拉框中就会看到Chinese选项,这就是简体中文,选择它即可。
参考技术A你的C::B的文本编辑器编码与操作系统shell所使用的不一致。
在设置->编辑器->其他设置->编码(Settings->Editor->Other settings->Encoding)将文本编码设置为你的环境所使用的编码。
如果你使用Windows,设置为Windows-936。(简体中文)
如果你使用UNIX类系统,请参看系统的环境变量。一般是UTF-8。
另外,你还可以使用开源的GNU iconv函数库,将你的字符串从文本编辑器的编码转换为系统的编码。
以上说的是通用的方法。下面还有段用wchar_t的方法的例子,我只在Win+VS下测试过。(使用GCC的话可能要指定-finput-charset参数)
#include <stdio.h>#include <locale.h>
int main()
setlocale( LC_ALL, "CHS" ); //将CHS设为你系统用的编码
wchar_t s[]=L"国足";
wprintf(s);
//printf( "%S" ,s); //第一个是大写S
return 0;
参考技术B 最近也碰到这个问题了,研究了一下如下:
codeblocks默认源代码文件编码根据OS而定,编译时编码UTF-8,那么问题就来了
在你不更改任何codeblocks配置时:
在WINDOWS中:源代码——WINDOWS-936(即GBK) 编译后文件默认UTF-8 而输出windows会按GBK来解释,所以从GBK->UTF-8->GBK就是乱码;
在LINUX中:默认是UTF-8,自然从源代码到编译到输出都是UTF-8,因此没有乱码;
WINDOWS中:设置如下settings->compiler->Other options中增加2条命令
-finput-charset=GBK编译时用GBK格式 不指定默认UTF-8
-fexec-charset=GBK生成执行文件时用GBK格式 不指定默认UTF-8 参考技术C
请使用宽字符串字面量和宽字符输出函数。
#include <wchar.h> // stdio.h似乎也可wprintf(L"呵呵\\n");追问
还是不行啊
追答记得C::B显示中文一直不太正常...wcout也是显示不了
参考技术D 怎么会呢!应该是有些符号是中文输入法下输入的下面的代码粘贴过去试试
#include<stdio.h>
int main()
printf("你好\n");
return 0;
以上是关于codeblocks中文输出提示出错的主要内容,如果未能解决你的问题,请参考以下文章
codeblocks提示Process terminated with status怎么办?