c++ - 各种操作系统的语言环境格式

标签 c++ c locale

char *currentLocale = setlocale(LC_ALL,"");

在 Windows 中,setlocale 返回“English_United States”,但在 Linux 中,它返回“en_US”。有没有通用的方法来识别英语语言环境?或者我必须检查所有可用的语言环境值? (“English_United States” || “en_US” || 等)

最佳答案

您可能需要检查:

http://en.wikipedia.org/wiki/Locale

http://en.wikipedia.org/wiki/ISO_639

理论上,Windows、Linux、MAc 和其他操作系统。可能有支持“语言下划线国家”格式的函数库,即使它们有自己的内部标准:

http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2

关于c++ - 各种操作系统的语言环境格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11457907/

相关文章:

c++ - 写入字符串流后,为什么提取到字符串中会导致该字符串变成伪造的?

c - 如何使用 Win32 API 将字符串传递给 DLL?

c - 尝试运行任意命令并解析其输出

c - STM32F4 SPI问题

c# - ar-sa 文化的预期日期时间字符串是什么?

c++ - 为什么 `std::compare_three_way` 不是 `std::strict_weak_order` ?

c++ - seekg 不转到文件开头

c++ - Dlib MLP 中的偏置节点?

c++ - 尽管在 C++ 中使用#include<clocale>,代码仍未识别瑞典字符

postgresql - 在 PostgreSQL 中安装 utf8 排序规则