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

v0i*_*pwn 1 c++ locale cross-platform

我尝试搜索,但没有找到类似的内容。

我有一个跨平台的软件(Windows,GNU / Linux和OSX),但我不知道如何获取操作系统的当前语言,例如pt_BR,en_US等。

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

Mar*_*ler 5

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

ios::getloc是您应该查看的内容,但更重要的是std::locale()locale.namecppreference.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';
Run Code Online (Sandbox Code Playgroud)

  • 这不会给出系统语言或区域 (2认同)