Funkcja setlocale () w C ++ ustawia informacje o lokalizacji dla bieżącego programu.
Funkcja setlocale () jest zdefiniowana w pliku nagłówkowym.
setlocale () prototyp
int setlocale (kategoria int, const char * locale);
Funkcja setlocale służy do ustawiania określonych ustawień narodowych systemu dla danej kategorii. Funkcja setlocale może być również używana do odpytywania bieżących ustawień regionalnych C.
Można to zrobić, przekazując pusty wskaźnik zamiast ustawień regionalnych.
setlocale () Parametry
- kategoria: określa, na które informacje regionalne programu ma to wpływ. Możliwe makra dla kategorii to:
Makra | Opis |
---|---|
LC_ALL | Wybiera wszystkie ustawienia regionalne C. |
LC_COLLATE | Wybierz kategorię zestawiania |
LC_CTYPE | Wybiera kategorię klasyfikacji znaków |
LC_MONETARY | Wybiera kategorię formatowania pieniężnego |
LC_NUMERIC | Wybiera kategorię formatowania liczb |
LC_TIME | Wybiera kategorię formatowania czasu |
- locale: identyfikator ustawień regionalnych specyficzny dla systemu. Jeśli jest to wskaźnik zerowy, wywołanie setlocale () pyta o bieżące ustawienia regionalne C.
setlocale () Zwracana wartość
- Po pomyślnym zakończeniu funkcja setlocale () zwraca wskaźnik do łańcucha identyfikującego ustawienia regionalne C po zastosowaniu zmian.
- W przypadku niepowodzenia zwraca pusty wskaźnik.
Przykład: Jak działa funkcja setlocale ()?
#include #include using namespace std; int main() ( char *str; setlocale(LC_ALL, "en_US.utf8"); str = setlocale(LC_ALL, NULL); cout << "Current locale: " << str << endl; cout << "Changing locale " << endl; setlocale(LC_ALL, "en_GB.utf8"); str = setlocale(LC_ALL, NULL); wcout << "Current locale: " << str << endl; return 0; )
Po uruchomieniu programu wynik będzie następujący:
Bieżące ustawienia regionalne: en_US.utf8 Zmiana ustawień regionalnych Bieżące ustawienia regionalne: en_GB.utf8