Setlocale () -funktionen i C ++ indstiller lokal information for det aktuelle program.
Setlocale () -funktionen er defineret i headerfilen.
setlocale () prototype
int setlocale (int-kategori, const char * locale);
Setlocale-funktionen bruges til at indstille et specificeret systemsprog for den givne kategori. Setlocale-funktionen kan også bruges til at forespørge om den aktuelle C-lokalitet.
Dette kan gøres ved at sende en nul-markør i stedet for lokalitet.
setlocale () Parametre
- kategori: Angiver, hvilken lokalinformation af programmet der er berørt. De mulige makroer til kategori er:
Makroer | Beskrivelse |
---|---|
LC_ALL | Vælger alle C-lokaliteter |
LC_COLLATE | Vælg sorteringskategori |
LC_CTYPE | Vælger karakterklassifikationskategori |
LC_MONETÆR | Vælger den monetære formateringskategori |
LC_NUMERIC | Vælger den numeriske formateringskategori |
LC_TIME | Vælger kategorien for tidsformatering |
- locale: En systemspecifik lokal identifikator. Hvis det er en nul pointer, spørger et opkald til setlocale () den aktuelle C-lokalitet.
setlocale () Returværdi
- Efter succes returnerer funktionen setlocale () en markør til strengen, der identificerer C-lokaliteten efter anvendelse af ændringerne.
- Ved fiasko returneres en nul pointer.
Eksempel: Hvordan fungerer 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; )
Når du kører programmet, vil output være:
Aktuel lokalitet: da_DK.utf8 Ændring af lokalitet Aktuel lokalitet: da_DK.utf8