windows 10系统,codeblocks中代码运行后,输出结果中有乱码?
发布网友
发布时间:2022-04-27 09:45
我来回答
共3个回答
热心网友
时间:2023-09-22 18:03
如果只有在输出中文时才导致的乱码,这是因为编码问题引起的
很大可能是你的源文件编码为utf-8,编译时默认与源文件编码一致
可以添加编译参数:-finput-charset=utf-8 -fexec-charset=gbk
-finput-charset:用来指定输入文件(你的cpp文件)的字符编码
-fexec-charset:表示以指定编码进行编译追问不是中文字符的问题
热心网友
时间:2023-09-22 18:03
应该是字符集编码问题
可将fprintf改为fwprintf,用宽字符集输出
追问还是输出不了。
追答将源码的文本编码改为UTF-8,重新编译运行
热心网友
时间:2023-09-22 18:04
setvbuf(stdout, buff, _IOFBF, 1024);
使用的buff一个局部变量,在return的时候内存就被释放了。
在程序结束的时候才会flush输出,此时buff的地址里面的内容已经不可知了。