c - 为什么在 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;
}
代码有问题吗?
解决方案
推荐阅读
- python - 打开 Cassandra 进行远程连接只针对单个 IP,并使用 python 连接
- python - 意外的 Django ORM 行为
- php - 使用 Carbon 添加分钟数返回错误值
- java - Spring Boot应用程序中的Rest API无法在本地网络上访问
- c - MPI主进程收敛循环
- python - 将分组的 seaborn facetgrid 热图数据保存到目录中的问题
- scala - 如何获取 Kryo 序列化的所有未注册类的列表?
- c# - 扫描图像目标后如何制作另一个场景
- c++ - CMake 错误:CMake 无法找到与“Unix Makefiles”对应的构建程序。CMAKE_MAKE_PROGRAM 未设置
- sql-server - 如何在单个 SSIS 包中处理这种情况?