mingw似乎对中文支持不太友好,搞了许久,未曾有效,于是乎发现有两个方法勉强解决:
①、code runner里面添加命令转换编码:
经百度,powershell和cmd可以临时切换编码,也可以永久切换编码,但是考虑到据说中文windows为了兼容使用GBK,为了避免不必要的麻烦,所以我采用了临时切换编码,使用chcp 65001命令便可,切换编码为UTF-8,当然你的cpp文件也得保存为UTF-8编码,在setting.json里面编辑如下
如此一来,每次编译运行前都会切换编码,如图所示:
②、还有另外一个方法,因为笔者发现vs2017并没有产生对中文不友好的麻烦,可以顺利编译运行GBK编码的cpp文件,所以便也试试用微软的编译器,然后环境变量搞了一会,我似乎弄得有点乱,大家参考参考配置一下吧!先是用户变量,主要是include和lib(头文件、库文件)。。。。。。。。。。。。如果你的电脑是32位,全都统一为x86
最后系统变量,这个路径里面有微软的编译器cl.exe
然后上网查了一下微软的cl.exe如何使用
https://www.jianshu.com/p/486ee30913b7
这个博客有不错的使用方法,就喜欢这种简洁的,最讨厌那种抄来抄去,还说一大堆没用的,点不到点子上的傻逼博文,屁用没用
然后就是我个人在vs里面的设置:(当然记得用微软的编译器,cpp要保存为gbk哦!)
"cpp":"cd $dir && cl.exe /nologo /std:c++14 /EHsc $fileName && del \"$fileNameWithoutExt.obj\" && .\\$fileNameWithoutExt.exe"
总结下来,感觉在windows下,还是微软的编译器快一些啊(当然只是我的感觉,没用严格论证!!!)
(因为我不喜欢微软编译器生成的obj,所以我加了一条命令,每次del掉obj)
还蛮舒服的
补充:
后来加了几个引号,解决了文件名空格的问题: