答案是设置源文件编码为GBK或GB2312并匹配控制台代码页。将.cpp文件保存为ANSI编码,同时在程序中使用system("chcp 936")切换代码页,可解决C++控制台中文乱码问题。

在C++控制台程序中输出中文出现乱码,主要是由于字符编码不匹配导致的。Windows系统默认使用GBK或GB2312编码,而源文件可能保存为UTF-8,且控制台(cmd)使用的代码页也不是UTF-8,这就容易造成中文显示乱码。以下是几种有效的解决方案。
让源代码文件的编码与Windows控制台默认编码一致:
强制控制台使用UTF-8编码输出:
注意:需同时设置源文件为UTF-8无BOM,并在程序中调用API。示例代码:
立即学习“C++免费学习笔记(深入)”;
#include <iostream>
#include <windows.h>
using namespace std;
int main() {
SetConsoleOutputCP(CP_UTF8);
cout << "你好,世界!" << endl;
return 0;
}
在运行程序前,手动修改cmd的代码页:
如果希望代码在不同系统上都能正常输出中文:
基本上就这些方法。关键是统一“源文件编码”、“程序输出编码”和“控制台显示编码”。只要三者匹配,中文就不会乱码。调试时可先用简单例子测试,确认环境设置正确。
c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号