2012-03-29 10 views
7

W C++, mogę ustawić bieżące locale tak:Uzyskaj globalne ustawienia regionalne, które są aktualnie ustawione w C++?

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

Ale jak uzyskać obecny globalny lokalizacji?

W moim kodzie, potrzebuję uzyskać bieżące ustawienia regionalne, zapisać je do pliku tmp var, ustawić globalne ustawienia narodowe na coś innego, coś wypisać, a następnie przywrócić poprzednie ustawienia narodowe.

+0

Nie użyłem tego, ale czy tego właśnie szukasz? http://en.cppreference.com/w/cpp/io/ios_base/getloc edit: nieważne, znalazłem, że wartość zwracana to aktualne ustawienia narodowe. Zobacz odpowiedź Corbina. – chris

+0

Czy chcesz globalnych ustawień regionalnych (domyślnie 'C" '), czy ustawień narodowych środowiska? –

+0

Chcę, aby wartość cokolwiek ktoś zestaw wcześniej przy użyciu 'std :: locale :: global'. – Frank

Odpowiedz

2

Jak IPC mówi konstruktor domyślny dla std :: locale daje kopię aktualnej globalnej lokalizacji, ale dlaczego trzeba buforować a następnie zresetować globalne locale?

Procedury C++, które używają ustawień narodowych, zazwyczaj używają określonego lokalnie języka C++, więc nie musisz w ogóle mieszać z globalnymi ustawieniami narodowymi. Korzystanie z ustawień narodowych powinno być preferowane w stosunku do globalnych ustawień narodowych C++.

Powiązane problemy