0


vscode C++ windows中文输出乱码或编译报错解决方案

    ****【版权声明】****

本文为博主原创文章,未经博主允许严禁转载,我们会定期进行侵权检索。

    在使用Vscode编写C++程序时,如果程序中含有中文,可能会遇到编译警告、错误或输出乱码的问题。这些问题通常源于Windows默认的字符集为Windows-936(GBK),而mingw的内部是GCC,其编译器默认按照UTF-8解析和输出,导致编码不一致而产生错误或乱码。以下将介绍具体的解决方案。

1 编译警告或错误或输出乱码

    Vscode C++程序含有中文时可能会有如下编译警告或者报错。

    warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

    error C2001: 常量中有换行符

    error C2143: 语法错误: 缺少“;”

    即使程序通过编译,那么输出中文也可能是乱码。

2 原因分析

    Windows(中文)默认的字符集是Windows-936(GBK),而mingw的内部是GCC,而其编译器默认编译的时候是按照UTF-8解析和输出的,当未指定字符集时一律当作UTF-8进行处理,于是造成乱码。

    这相当于程序输出的是UTF-8格式的结果,而Windows系统却按照GBK来解析,显然会出现错误或乱码。

3 解决方案

    上述问题解决方案有多种,例如改变Window默认字符集,或者将文件保存为GBK格式。这里采用一种适合vscode的快速解决方案,主要包含如下两个步骤。

    第一步:点击页面**右下角**“UTF8”。

    第二步:在弹出的页面中选择“Save with Encoding”,然后选择GBK编码即可。

    重新编译程序即可解决上述问题。

    通过以上方法,可以有效解决Vscode C++程序中含有中文时可能出现的编译警告、错误或输出乱码的问题。希望这篇博文能够帮助到遇到类似问题的开发者们。

【版权声明】
本文为博主原创文章,未经博主允许严禁转载,我们会定期进行侵权检索。

更多python与C++技巧、三维算法、深度学习算法总结、大模型请关注我的博客,欢迎讨论与交流:https://blog.csdn.net/suiyingy,或”乐乐感知学堂“公众号。Python三维领域专业书籍推荐:《人工智能点云处理及深度学习算法》。

标签: vscode c++ ide

本文转载自: https://blog.csdn.net/suiyingy/article/details/136865606
版权归原作者 Coding的叶子 所有, 如有侵权,请联系我们删除。

“vscode C++ windows中文输出乱码或编译报错解决方案”的评论:

还没有评论