2012-03-29 137 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++全局区域设置。

相关问题