Setlocale () -funktionen i C ++ ställer in lokalinformation för det aktuella programmet.
Funktionen setlocale () definieras i rubrikfilen.
setlocale () prototyp
int setlocale (int-kategori, const char * locale);
Setlocale-funktionen används för att ställa in en specificerad systemlokal för den givna kategorin. Setlocale-funktionen kan också användas för att fråga den aktuella C-platsen.
Detta kan göras genom att skicka en nollpekare i stället för lokal.
setlocale () Parametrar
- kategori: Anger vilken lokalinformation för programmet som påverkas. De möjliga makron för kategori är:
Makron | Beskrivning |
---|---|
LC_ALL | Väljer alla C-platser |
LC_COLLATE | Välj sorteringskategori |
LC_CTYPE | Väljer teckenklassificeringskategori |
LC_MONETARY | Väljer kategori för monetär formatering |
LC_NUMERIC | Väljer den numeriska formateringskategorin |
LC_TIME | Väljer kategori för tidsformatering |
- locale: En systemspecifik lokalidentifierare. Om det är en nollpekare frågar ett samtal till setlocale () den aktuella C-platsen.
setlocale () Returvärde
- Vid framgång returnerar funktionen setlocale () en pekare till strängen som identifierar C-localen efter att ändringarna tillämpats.
- Vid fel returnerar den en nollpekare.
Exempel: Hur fungerar funktionen 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ör programmet blir resultatet:
Aktuell plats: sv_SE.utf8 Ändrar språk Aktuell plats: sv_SE.utf8