codeblocks输出结果中有乱码,是啥原因?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codeblocks输出结果中有乱码,是啥原因?相关的知识,希望对你有一定的参考价值。
Windows 10中,codeblocks编写的代码如下:#include <stdio.h>#include <string.h>int main(void)char buff[1024];memset(buff, '\0', sizeof(buff));setvbuf(stdout, buff, _IOFBF, 1024);fprintf(stdout, "This is bbs.fishc.com\n");fflush(stdout);fprintf(stdout, "输入任意字符后才会显示该行字符!\n");getchar();return 0;运行后结果如下图:输入任意一个字符x,回车后显示乱码,没有正确显示代码中的中文字符,请问是什么原因?ps:我的codeblocks是可以正常显示中文字符的,只有上面这个程序不能正常显示,很奇怪!
这是由于编码问题导致的,windows cmd命令行默认的编码方式是936gbk导致的。可以输出前加system("chcp 65001")来输出中文
然后输出之后再修改编码,调回来system("chcp 936")。追问
加了这个命令,codeblocks报错,无法运行程序。麻烦您测试一下
参考技术A应该是字符集编码问题
可将fprintf改为fwprintf,用宽字符集输出
以上是关于codeblocks输出结果中有乱码,是啥原因?的主要内容,如果未能解决你的问题,请参考以下文章