首页 > 解决方案 > 在 Visual Studio 中的调试构建中 setlocale 失败

问题描述

我正在尝试通过调用将字符串语言环境设置为 UTF-8

setlocale(LC_ALL, "en_US.UTF-8");

在我的程序开始时。它已在 Release 版本中成功设置,但如果我将其构建为 Debug 则失败(返回 NULL 且无效)。Release 和 Debug 的设置对于我能想到的可能对此产生影响的任何东西都几乎相同(两者都设置为使用 Unicode 字符集)。

我可以在 Debug 中设置其他语言环境,如“English”或“C”,但“en_US.UTF-8”失败。有没有人遇到过这种情况或知道可能出了什么问题?

PS我正在链接一堆库,我的几个库和几个外部库,但它们都是以相同的方式构建的,我什至不确定为什么这会对 setlocale 产生任何影响。

标签: c++cvisual-c++unicode

解决方案


推荐阅读