2015-10-04 76 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