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怎么办?

codeblocks输出结果中有乱码,是啥原因?

codeblocks安装后提示ide已停止工作

CodeBlocks输出不了中文

我下载的codeblocks也提示找不到可执行的编译器,我后来自己下了一个gcc,但不知道如何设置。

ubuntu16.04安装kde桌面出错