Funkcija setlocale () u C ++ postavlja podatke o lokalnom jeziku za trenutni program.
Funkcija setlocale () definirana je u datoteci zaglavlja.
prototip setlocale ()
int setlocale (int kategorija, const char * lokalizacija);
Funkcija setlocale koristi se za postavljanje navedenog lokaliteta sustava za datu kategoriju. Funkcija setlocale također se može koristiti za postavljanje upita o trenutnom C jeziku.
To se može učiniti dodavanjem null pokazivača umjesto lokalizacije.
parametri setlocale ()
- kategorija: Određuje koji su podaci o lokalnom jeziku programa pogođeni. Mogući makronaredbe za kategoriju su:
Makronaredbe | Opis |
---|---|
LC_ALL | Odabire sve lokalitete C. |
LC_COLLATE | Odabir kategorije uspoređivanja |
LC_CTYPE | Odabire kategoriju klasifikacije znakova |
LC_MONETARNO | Odabire kategoriju novčanog oblikovanja |
LC_NUMERIC | Odabire kategoriju numeričkog oblikovanja |
LC_TIME | Odabire kategoriju oblikovanja vremena |
- lokalizacija: sistemski identifikator lokalizacije. Ako je to null pokazivač, poziv na setlocale () postavlja upit trenutnom C jeziku.
setlocale () Povratna vrijednost
- Nakon uspjeha, funkcija setlocale () vraća pokazivač na niz koji identificira lokalitet C nakon primjene promjena.
- U slučaju neuspjeha vraća null pokazivač.
Primjer: Kako funkcionira funkcija 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; )
Kada pokrenete program, izlaz će biti:
Trenutni lokalni jezik: en_US.utf8 Promjena lokalnog jezika Trenutni lokalni jezik: en_GB.utf8