Funkcija setlocale () C ++ nustato dabartinės programos lokalės informaciją.
Funkcija setlocale () yra apibrėžta antraštės faile.
setlocale () prototipas
int setlocale (int kategorija, const char * lokalė);
Funkcija „setlocale“ naudojama tam tikrai kategorijai nustatyti nurodytą sistemos lokalę. Funkcija „setlocale“ taip pat gali būti naudojama norint pateikti užklausą apie dabartinę C lokalę.
Tai galima padaryti vietoj lokalės perduodant nulinį rodyklę.
setlocale () parametrai
- kategorija: nurodo, kuriai programos lokalės informacijai tai turi įtakos. Galimos kategorijos makrokomandos yra šios:
Makrokomandos | apibūdinimas |
---|---|
LC_ALL | Parenka visą C lokalę |
LC_COLLATE | Pasirinkite lyginimo kategoriją |
LC_CTYPE | Parenka simbolių klasifikavimo kategoriją |
LC_MONETARY | Parenka piniginio formatavimo kategoriją |
LC_NUMERIC | Parenka skaitinio formatavimo kategoriją |
LC_TIME | Parenka laiko formatavimo kategoriją |
- lokalė: konkrečios sistemos lokalės identifikatorius. Jei tai yra nulinis rodyklė, skambutis į setlocale () klausia dabartinės C lokalės.
setlocale () Grąžinimo vertė
- Pasisekus, funkcija setlocale () pritaikius pakeitimus grąžina žymeklį į eilutę, identifikuojančią C lokalę.
- Sugedus jis grąžina nulinį rodyklę.
Pavyzdys: Kaip veikia 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; )
Kai paleisite programą, išvestis bus:
Dabartinė lokalė: en_US.utf8 Lokalės keitimas Dabartinė lokalė: en_GB.utf8