他小的有

C++ std::cout在cmd输出中文乱码的解决方案

1.如果是命令行的方式,在执行命令前先执行

chcp 65001


2.通过system命令修改编码

#include "stdafx.h"
#include <Windows.h>
#include <iostream>

int main()
{
    system("chcp 65001");

    std::cout << u8"中华人民共和国" << std::endl;

    std::system("pause");
    return 0;
}

缺点:会额外输出 Active code page: 65001 字符串。


3.通过SetConsoleOutputCP函数修改编码

#include "stdafx.h"
#include <Windows.h>
#include <iostream>

int main()
{
    SetConsoleOutputCP(CP_UTF8);

    std::cout << u8"中华人民共和国" << std::endl;

    std::system("pause");
    return 0;
}

本站部分资源收集于网络,纯个人收藏,无商业用途,如有侵权请及时告知!

2
分享到:

评论 0

取消
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址