Funkcia setlocale () v C ++ nastavuje miestne informácie pre aktuálny program.
Funkcia setlocale () je definovaná v hlavičkovom súbore.
prototyp setlocale ()
int setlocale (int kategorie, const char * locale);
Funkcia setlocale slúži na nastavenie zadaného miestneho nastavenia systému pre danú kategóriu. Funkciu setlocale je možné použiť aj na dopytovanie aktuálneho národného prostredia C.
To sa dá urobiť tak, že namiesto miestneho nastavenia odovzdáte nulový ukazovateľ.
setlocale () parametre
- kategória: Určuje, ktoré miestne informácie o programe sú ovplyvnené. Možné makra pre kategóriu sú:
Makrá | Popis |
---|---|
LC_ALL | Vyberie všetko miestne nastavenie C. |
LC_COLLATE | Vyberte kategóriu porovnávania |
LC_CTYPE | Vyberie kategóriu klasifikácie znakov |
LC_MONETARY | Vyberie kategóriu peňažného formátovania |
LC_NUMERIC | Vyberie kategóriu číselného formátovania |
LC_TIME | Vyberie kategóriu formátovania času |
- locale: Identifikátor miestneho nastavenia špecifický pre systém. Ak je to nulový ukazovateľ, volanie setlocale () vyhľadá aktuálne miestne národné prostredie C.
setlocale () Vrátená hodnota
- Pri úspechu funkcia setlocale () vráti po použití zmien ukazovateľ na reťazec identifikujúci miestne nastavenie C.
- Pri zlyhaní vráti nulový ukazovateľ.
Príklad: Ako funguje funkcia 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 spustení programu bude výstup:
Aktuálne miestne nastavenie: en_US.utf8 Zmena miestneho nastavenia Aktuálne miestne nastavenie: en_GB.utf8