C++ 使用C或C+获取系统语言+;

C++ 使用C或C+获取系统语言+;,c++,cross-platform,locale,C++,Cross Platform,Locale,我试过搜索,但没有找到这样的东西 我有一个跨平台的软件(Windows、GNU/Linux和OSX),我不知道如何让操作系统使用最新的语言,比如pt_BR、en_US等等 它必须适用于所有系统,因为所有系统的源代码都是相同的。我很惊讶您没有偶然发现这一点,因为它是标准C++:: 是您应该查看的内容,但更重要的是(来自的代码片段): std::cout我很惊讶你没有偶然发现这个,因为它是标准C++:: 是您应该查看的内容,但更重要的是(来自的代码片段): STD::我不是C++程序员,这是我第一

我试过搜索,但没有找到这样的东西

我有一个跨平台的软件(Windows、GNU/Linux和OSX),我不知道如何让操作系统使用最新的语言,比如pt_BR、en_US等等


它必须适用于所有系统,因为所有系统的源代码都是相同的。

我很惊讶您没有偶然发现这一点,因为它是标准C++::

是您应该查看的内容,但更重要的是(来自的代码片段):


std::cout我很惊讶你没有偶然发现这个,因为它是标准C++::

是您应该查看的内容,但更重要的是(来自的代码片段):


<代码> STD::我不是C++程序员,这是我第一次使用语言,只在C/Python /PHP上编程。@ USER 221096:但是,Google对于C++的区域设置绑定到正确的ReSurviv.这个函数只返回“C”me@user3721069:“C”是默认的区域设置。由于C++区域性的东西没有被定义为C语言环境的包装器,而且特别是G+之间有不神圣的连接,所以事情变得复杂。对于C级语言环境,在
main
的开头做一个
setlocale(“,LC_ALL)
,这可能会修复一些错误。到G+C++ C++级别。@ USER 221096-,作为阿尔夫。说,如果它返回C,那么你的区域设置是C,从C++的角度来看。你可能会尝试按照阿尔夫推荐的“LIBC”路线,但老实说,我从来没有遇到过GCC/G+本地化的问题,所以从一个盲目的猜测中,我假设C++的代码> STD::LoaLa//Cuff>告诉你<代码> C>代码>,那么LBC的区域设置可能不会更详细。我不是C++程序员,这是我第一次使用语言,在C/Python /PHP上只编程。@ USER 221096:但是,Google对于C++的区域设置绑定到指向正确的ReSurviv.这个函数只返回“C”me@user3721069:“C”是默认的区域设置。由于C++区域性的东西没有被定义为C语言环境的包装器,而且特别是G+之间有不神圣的连接,所以事情变得复杂。对于C级语言环境,在
main
的开头做一个
setlocale(“,LC_ALL)
,这可能会修复一些错误。到G+C++ C++级别。@ USER 221096-,作为阿尔夫。说,如果它返回C,那么你的区域设置是C,从C++的角度来看。您可能会尝试按照Alf的建议选择“libc”路线,但老实说,我在GCC/g++本地化方面从来没有遇到过问题,因此从盲目猜测的角度来看,我假设如果C++的
std::locale
告诉您
C
,那么libc的locale可能不会更详细,例如,或者可能,或者仅仅是C++11这个软件有大量的代码,我只需要升级它。使用一些跨平台的框架,例如,或者可能,或者仅仅是C++11这个软件有大量的代码,我只需要升级它。
std::cout << "The default locale is " << std::locale().name() << '\n'
          << "The user's locale is " << std::locale("").name() << '\n'
          << "A nameless locale is " << loc.name() << '\n';