大佬教程收集整理的这篇文章主要介绍了如何在Windows上为C程序设置适当的初始区域设置?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
据我所知,新应用程序从C语言环境开始,而不是正确的区域语言环境(英语,德语等).所以我需要做的是调用setlocale(LC_ALL,“???”),但是我不知道如何获取第二个参数的正确值.它将像“英语”或“德语:德国” – 基本上是用户通过区域和语言选项控制面板设置的任何区域设置.只是为了清楚,我不是在寻找如何格式化区域设置字符串,我正在寻找正在运行的应用程序的计算机的区域设置字符串.
在C中,本地化由std :: locale类控制.默认情况下,区域设置敏感操作使用默认获取的全局区域设置 – 构建区域设置对象,并且可以使用std :: locale :: global(const std :: locale&)设置.
使用空字符串(std :: locale(“”))构造区域设置对象将创建与程序环境相对应的区域设置.
在程序启动时,全局区域是“C”或“经典”区域.要将全局区域设置为程序的环境区域设置(我猜这是您要求的),您可以这样写:
std::locale::global(std::locale(""));
例如,我的区域设置目前设置为法语(加拿大).运行这个:
int main(void) { std::cout << std::locale().name() << std::endl; std::locale::global(std::locale("")); std::cout << std::locale().name() << std::endl; std::locale::global(std::locale("C")); std::cout << std::locale().name() << std::endl; return 0; }
打印:
C French_Canada.1252 C
以上是大佬教程为你收集整理的如何在Windows上为C程序设置适当的初始区域设置?全部内容,希望文章能够帮你解决如何在Windows上为C程序设置适当的初始区域设置?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。