win32c++:如何打印笑脸☻控制台输出流

Win32 C++: How to print a smily face ☻ onto console output stream?

本文关键字:笑脸 控制台 输出流 打印 何打印 win32c++      更新时间:2023-10-16

我尝试了setlocale, wchar, usual char…如何定义:

char c = '☻'
cout << c << endl;

将任何内容打印到控制台(这与VS2012和http://ideone.com/LJtDUz相关)

问题是windows默认情况下不处理Unicode字符,并且windows控制台无法显示它们。

我在这个CPP线程中找到的解决方案如下:

#include <fcntl.h>
#include <io.h>
#include <iostream>
int
main(int argc, char* argv[])
{
    wchar_t* c = L"☻"; /* needed because the project is using 'Unicode Character Set' */
    _setmode(_fileno(stdout), _O_WTEXT); /* set stdout to UTF16 */
    std::wcout << c << std::endl; /* use a wide cout call to output characters */
    getchar();
    return 0;
}

当你尝试在代码中直接使用符号时,windows会告诉你,我需要将你的文件转换为Unicode,请确保接受并使用Unicode Character Set作为你的项目字符集类型。