因为写程序需要输出一些特殊字符,结果输出到控制台怎么都是乱码(就是一个问号)
在网上搜也没有找到,最后还是在Stack Overflow上面找到的
_setmode(_fileno(stdout), _O_U16TEXT);
使用这个命令可以让控制台启用Unicode 16(仅在windows上有效)
#include<iostream>
#include<io.h>//使用_setmode(_fileno(stdout), _O_U16TEXT)必须加的头文件
#include<fcntl.h>//使用_setmode(_fileno(stdout), _O_U16TEXT)必须加的头文件
using namespace std;
int main()
{
_setmode(_fileno(stdout), _O_U16TEXT);//让控制台启用Unicode 16
wcout<<L"DDDD \u2612!\n";//L告诉编译器使用两个字节的Unicode字符集
wcout << L'☒';
return 0;
}
运行结果: