C ++ setlocale () - C ++ standartinė biblioteka

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:
Kategorijos makrokomanda „setlocale“ ()
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

Įdomios straipsniai...