当前位置:首页 开发工具 > 正文

dev c++为什么print中文变乱码

作者:野牛程序员:2023-12-11 18:17:28 开发工具阅读 2134

C++中如果在控制台输出中文出现乱码,可能是因为控制台默认使用的字符集不支持中文显示。可以尝试以下方法解决这个问题:

  1. 使用SetConsoleOutputCP函数:

    #include <iostream>
    #include <Windows.h>
    
    int main() {
        SetConsoleOutputCP(65001); // 设置控制台输出编码为UTF-8
        std::cout << "你好,世界!" << std::endl;
        return 0;
    }

    这里SetConsoleOutputCP(65001)将控制台输出编码设置为UTF-8,适用于支持UTF-8的控制台。

  2. 将文件保存为UTF-8编码:

    如果源代码文件是以非UTF-8编码保存的,尝试将其保存为UTF-8。多数编辑器都提供了保存为UTF-8的选项。

  3. 使用wchar_twcout输出宽字符:

    #include <iostream>
    #include <io.h>
    #include <fcntl.h>
    
    int main() {
        _setmode(_fileno(stdout), _O_U16TEXT); // 设置控制台输出为Unicode
        std::wcout << L"你好,世界!" << std::endl;
        return 0;
    }

    这里使用_setmode函数将控制台输出设置为Unicode。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击