C ++: n setlocale () -toiminto asettaa nykyisen ohjelman kielitiedot.
Funktio setlocale () määritetään otsikkotiedostossa.
setlocale () -prototyyppi
int setlocale (int-luokka, const char * locale);
Setlocale-funktiota käytetään määrittämään tietyn järjestelmän alue tietylle luokalle. Setlocale-funktiota voidaan käyttää myös nykyisen C-alueen kyselyyn.
Tämä voidaan tehdä välittämällä nollaosoitin kielen sijasta.
setlocale () -parametrit
- category: Määrittää, mitä ohjelman kielitietoja se koskee. Luokan mahdolliset makrot ovat:
Makrot | Kuvaus |
---|---|
LC_ALL | Valitsee kaikki C-kieliasetukset |
LC_COLLATE | Valitse lajitteluluokka |
LC_CTYPE | Valitsee merkkiluokituksen luokan |
LC_MONETARY | Valitsee rahamuotoiluluokan |
LC_NUMERIC | Valitsee numeerisen muotoiluluokan |
LC_TIME | Valitsee ajan muotoiluluokan |
- locale: Järjestelmäkohtainen locale-tunniste. Jos se on tyhjä osoitin, kutsu setlocale () kysyy nykyisen C-kielen.
setlocale () Palautusarvo
- Menestyksen jälkeen setlocale () -funktio palauttaa osoittimen merkkijonoon, joka identifioi C-kielen muutosten jälkeen.
- Epäonnistumisen yhteydessä se palauttaa tyhjän osoittimen.
Esimerkki: Kuinka setlocale () -toiminto toimii?
#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; )
Kun suoritat ohjelmaa, tulos on:
Nykyinen kieliversio: en_US.utf8 Maantieteellisen sijainnin muuttaminen Nykyinen kieliasetus: en_GB.utf8