c - 在 Windows 上使用 wprintf() 打印表情符号
问题描述
#include <locale.h>
#include <stdio.h>
#include <wchar.h>
int main() {
setlocale(LC_CTYPE, "");
wprintf(L"٩(◕‿◕。)۶\n");
wprintf(L"\n");
return 0;
}
上面的代码完全按照预期在 linux 上运行:
$ ./a.out
٩(◕‿◕。)۶
但在窗户上完全断裂:
PS> ./a.exe
()
为什么会这样?那么,我该如何在 Windows 上打印表情符号?
我在 Windows 上使用带有 gcc 9.2.0 的 powershell,在用于 linux 的 powershell 上使用带有 gcc 9.3.0 的 WSL。
解决方案
推荐阅读
- html - 图像大小调整为父 div 保持比例并尊重图像高度
- database - 如何在 Postgres sql 中执行过程、视图和函数的版本控制
- tsql - T-SQL:可能包含“1753-01-01”的 DateTme 列 varchar 强制转换为空字符串
- html - 将 srcset 用于不同的设备尺寸和分辨率
- c# - 从 C++ 到 C# 获取错误的字节值
- r - 激活/停用 R 中的循环
- youtube-api - 如何在不使用 You Tube Data API 的搜索功能的情况下获取频道正在进行的直播视频
- c# - 简单的 odata 客户端过滤器嵌套集合
- python - 单元测试不会运行测试
- azure - 如何在 Azure 函数中的 Configure(IWebJobsBuilder builder) 中获取 FunctionAppDirectory