首页 > 解决方案 > 为什么在 Windows 上打印这个宽字符串会崩溃?

问题描述

我在进行一些单元测试时偶然发现了一个问题,我不完全确定为什么下面的简单示例在使用 sprintf 时会崩溃(将 Windows 与 Visual Studio 2019 一起使用)。

#include <stdio.h>
#include <locale.h>

int main()
{
    setlocale(LC_ALL, "en_US.utf8");
    char output[255];
    sprintf(output, "simple %ls text", L"\u00df\U0001d10b");
    return 0;
}

代码有问题吗?

标签: cwindowsprintfvisual-studio-2019widechar

解决方案


推荐阅读