如何解决C++运行乱码问题

前段时间用sublime text+MinGW搭建了C++环境今天突然发现cmd中文显示乱码,解决方案如下:

乱码原因
windows cmd使用的字符集为GBK,CPP文件字符集为UTF-8


解决方案:
通过给g++编译器加两个参数即可

-fexec-charset=GBK
-finput-charset=UTF-8
1
2
第一个参数指定窄字符或窄字符串的字面值常量的内部编码方式,默认为UTF-8。例如指定此选项为GBK,则窄字符或窄字符串常量将会以GBK编码方式存储而不是默认的UTF-8编码方式。

第二个参数,可能不需要加,加了第一个参数后还有乱码可以试试这个,意思是指定源文件的文件编码。

如果你是直接编译
g++ -fexec-charset=GBK test.cpp -o test
1
如果使用codeblocks
就是给编译器加上选项:-fexec-charset=GBK,和windows默认的统一,就OK了。

猜你喜欢

转载自www.cnblogs.com/myiuni/p/10887189.html