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

时间:2015-10-04 08:19:54

标签: c++ cross-platform locale

我尝试过搜索,但我找不到这样的内容。

我有一个跨平台软件(Windows,GNU / Linux和OSX),我不知道如何获得操作系统当前语言,如pt_BR,en_US和那些东西。

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

1 个答案:

答案 0 :(得分:4)

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

ios::getloc是您应该关注的内容,但更重要的是std::locale()(来自locale.name docs on cppreference.com的代码段):

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';