2015-10-04 73 views
1

我试过搜索,但我没有找到像这样的东西。我有一个跨平台的软件(Windows,GNU/Linux和OSX),我不知道如何获得操作系统当前的语言,如pt_BR,en_US和那些东西。在C或C++中获取系统语言

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

+0

使用一些跨平台框架,例如[Qt](http://qt.io/)或[POCO](http://pocoproject.org/)或者[Boost](http://boost.org/)或者C++ 11 –

+0

软件有很多代码,我只需要升级它。 – v0idpwn

回答

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

我不是一名C++程序员,它是我第一次使用该语言,仅在C/Python/PHP上编程。 – v0idpwn

+0

@ user3721069:仍然使用谷歌搜索功能获取语言环境*会将您指向正确的资源。 –

+0

此函数仅对我返回“C” – v0idpwn