2012-03-29 192 views
7

在C++中,我可以設置當前的語言環境是這樣的:獲取當前在C++中設置的全局語言環境?

std::locale::global(std::locale(name)) 

但我怎麼能得到目前全球區域?

在我的代碼,我需要獲得當前的語言環境,將其保存到TMP VAR,設置全局區域設置到別的東西,輸出的東西,然後將其設置回以前的語言環境。

+0

還沒有使用它,但是這是你所追求的? http://en.cppreference.com/w/cpp/io/ios_base/getloc編輯:沒關係,我發現返回值是當前語言環境。看Corbin的答案。 – chris 2012-03-29 20:39:28

+0

你想全局區域設置(默認爲'「C」'),或環境的語言環境? – 2012-03-29 20:42:01

+0

我想任何人使用'的std ::區域:: global'之前設置的值。 – Frank 2012-03-29 21:24:31

回答

2

由於IPC說,性病::區域設置的默認構造函數爲您提供了目前全球區域的一個副本,但你爲什麼需要緩存,然後重置全球語言環境?

使用語言環境的C++例程通常可以使用您指定的C++語言環境對象,因此您根本不必混淆全局語言環境。使用區域設置對象應優先於使用C++全局區域設置。

相關問題