Funktsioon setlocale () C ++ -s määrab praeguse programmi lokaalteabe.
Funktsioon setlocale () on määratletud päisefailis.
setlocale () prototüüp
int setlocale (int kategooria, const char * lokaat);
Funktsiooni setlocale kasutatakse antud kategooria jaoks määratud süsteemi lokaadi määramiseks. Funktsiooni setlocale saab kasutada ka praeguse C lokaadi päringute esitamiseks.
Seda saab teha lokaadi asemel nullkursori edastamisega.
setlocale () parameetrid
- kategooria: määrab, millist programmi lokaalteavet see mõjutab. Kategooria võimalikud makrod on:
Makrod | Kirjeldus |
---|---|
LC_ALL | Valib kogu C asukoha |
LC_COLLATE | Valige sortimise kategooria |
LC_CTYPE | Valib märkide klassifikatsiooni kategooria |
LC_MONETARY | Valib rahalise vormingu kategooria |
LC_NUMERIC | Valib numbrilise vormingu kategooria |
LC_TIME | Valib ajavormingu kategooria |
- locale: süsteemspetsiifiline locale identifikaator. Kui see on nullkursor, siis kutse setlocale () päringule praeguse C-i lokaadi järele.
setlocale () Tagastusväärtus
- Õnnestumisel tagastab funktsioon setlocale () pärast muudatuste rakendamist kursori stringile, mis identifitseerib C-i lokaadi.
- Ebaõnnestumisel tagastab nullkursori.
Näide: kuidas funktsioon setlocale () töötab?
#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; )
Programmi käivitamisel on väljund järgmine:
Praegune lokaat: en_US.utf8 Lokaadi muutmine Praegune lokaat: en_GB.utf8