Funkcija setlocale () v jeziku C ++ nastavi podatke o lokalnem jeziku za trenutni program.
Funkcija setlocale () je definirana v datoteki glave.
prototip setlocale ()
int setlocale (int kategorija, const char * locale);
Funkcija setlocale se uporablja za nastavitev določenega sistemskega jezika za dano kategorijo. Funkcijo setlocale lahko uporabite tudi za poizvedovanje o trenutni področni nastavitvi C.
To lahko storite tako, da namesto področne nastavitve prenesete ničelni kazalec.
parametri setlocale ()
- kategorija: Določa, katere krajevne informacije programa vplivajo. Možni makri za kategorijo so:
Makro | Opis |
---|---|
LC_ALL | Izbere vse krajevne nastavitve C. |
LC_COLLATE | Izberite kategorijo primerjave |
LC_CTYPE | Izbere kategorijo klasifikacije znakov |
LC_MONETARY | Izbere kategorijo denarnega oblikovanja |
LC_NUMERIC | Izbere kategorijo numeričnega oblikovanja |
LC_TIME | Izbere kategorijo za oblikovanje časa |
- področne nastavitve: sistemski identifikator področne nastavitve. Če gre za ničelni kazalec, klic setlocale () poizve po trenutni področni nastavitvi C.
setlocale () Vrnjena vrednost
- Po uspehu funkcija setlocale () po uveljavitvi sprememb vrne kazalec na niz, ki določa jezik C.
- Ob okvari vrne ničelni kazalec.
Primer: Kako deluje 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; )
Ko zaženete program, bo rezultat:
Trenutni jezik: en_US.utf8 Spreminjanje jezika Trenutni jezik: en_GB.utf8