Funcția setlocale () din C ++ setează informațiile locale pentru programul curent.
Funcția setlocale () este definită în fișierul antet.
setlocale () prototype
int setlocale (categoria int, const char * locale);
Funcția setlocale este utilizată pentru a seta o localizare specifică a sistemului pentru categoria dată. Funcția setlocale poate fi, de asemenea, utilizată pentru a interoga locația C curentă.
Acest lucru se poate face prin trecerea unui pointer nul în locul localizării.
setlocale () Parametri
- categorie: specifică ce informații locale ale programului sunt afectate. Posibilele macrocomenzi pentru categorie sunt:
Macrocomenzi | Descriere |
---|---|
LC_ALL | Selectează toate setările locale C. |
LC_COLLATE | Selectați categoria de colaționare |
LC_CTYPE | Selectează categoria de clasificare a personajelor |
LC_MONETAR | Selectează categoria de formatare monetară |
LC_NUMERIC | Selectează categoria de formatare numerică |
LC_TIME | Selectează categoria de formatare a timpului |
- locale: un identificator local specific sistemului. Dacă este un pointer nul, un apel către setlocale () interogă locația C curentă.
setlocale () Valoare returnată
- La succes, funcția setlocale () returnează un pointer la șirul care identifică localizarea C după aplicarea modificărilor.
- La eșec, returnează un pointer nul.
Exemplu: Cum funcționează funcția 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; )
Când rulați programul, ieșirea va fi:
Limbă curentă: en_US.utf8 Schimbare locală Limbă curentă: en_GB.utf8