各种操作系统的区域设置格式
Locale format for various operating systems
char *currentLocale = setlocale(LC_ALL,"");
在 Windows setlocale 中返回"English_United状态",但在 linux 中它会重新运行"en_US"。是否有识别英语区域设置的通用方法?或者我必须检查所有可用的区域设置值?("English_United州" ||"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
在这种情况下,
Windows似乎是唯一的异常值 - 大多数操作系统使用(更明智的("en_US"格式。您可以使用类似 #ifdef 的内容向 Windows 编译器提供自定义代码:
#ifdef __unix__
setlocale(LC_ALL, "en_US");
#elif defined _WIN32
setlocale(LC_ALL, "English");
#else
#error "Can't figure out how to set locale to English. Stop.";
#endif
它不是很漂亮,但它应该可以工作。
相关文章:
- 如何以叮当格式设置评论的行长?
- Vulkan 中的动态顶点缓冲区格式设置
- 如何将多种语言设置放在单个 .clang 格式文件中
- 如何设置叮当格式的注释编译指示,以免触及多行doxygen注释?
- 如何禁用影响宏的clang格式设置
- 保证最大输出长度为双精度,并设置默认输出格式的精度
- 如何编辑格式设置以增加换行长度?
- 如何设计对象以不同方式设置文本格式
- 如何为输入设置变量编号和__android_log_print格式
- 使用无符号字符设置文本格式
- 如何设置数字格式以显示C 中的所有小数位数
- MinGW中的数字格式设置更改
- C++库以人类可读的格式存储设置
- CLANG 格式:禁用宏的格式设置
- 设置返回指向包含类的指针的函数的格式
- 实现区域设置格式的时间输出
- 各种操作系统的区域设置格式
- 提升区域设置格式
- Boost区域设置格式百分比
- 在 c++ 中设置格式 SQL 查询