采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师您好,跟着您上课的步骤把文件编码改为GBK后使用vs的debug编译运行输出宽字符'中'完全没有问题,如下图:
但是我自己平常练习都在使用C11,所以默认都会用Debug-MinGW来编译,您课程最后说如果文件为GBK编码来编译会报错,确实是这样,如下:
当我切换回UTF-8编码以后编译通过,不过输出为乱码如下图,请问要怎么解决呢?
估计是因为控制台的编码是gbk。。。。windows上搞开发就是比较折腾。。
确实可能是这个原因,因为之前我代码中printf中有中文的提示,UTF-8输出是乱码,所以文件编码改成GBK,可以正确输出。但是用断点debug模式的时候(MinGW)在debug的控制台,反过来GBK输出是乱码,我觉得很奇怪,就百度了一下,也有人说是因为CLion中文件和控制台的编码不是一致的,但是没说咋解决。。。所以请问这个问题暂时就无解了嘛。。。
可以试试在命令行直接运行,确认下是不是编码问题。命令行可以通过 chcp 65001切换到utf8,chcp 936切换到gbk。 切换之后试试看是不是编码问题。 然后你在clion的run configuration 里面找一下看有么有编码设置,有的话改一下,没的话估计就比较麻烦了。
另外,MinGW 在编码这块儿主要是因为对 locale 支持得有问题,所以中文是有点儿麻烦。你可以把你的测试代码完整的贴出来,我也帮你试试看。
登录后可查看更多问答,登录/注册
如果通向大牛的道路有捷径,那就是先学好C语言
1.6k 3
1.1k 4
1.3k 9
1.6k 1
841 2