De functie setlocale () in C ++ stelt de locale-informatie voor het huidige programma in.
De functie setlocale () is gedefinieerd in het header-bestand.
setlocale () prototype
int setlocale (int categorie, const char * locale);
De functie setlocale wordt gebruikt om een gespecificeerde systeemlandinstelling voor de gegeven categorie in te stellen. De functie setlocale kan ook worden gebruikt om de huidige C-locale op te vragen.
Dit kan gedaan worden door een null-pointer door te geven in plaats van locale.
setlocale () Parameters
- categorie: geeft aan welke locale informatie van het programma wordt beïnvloed. De mogelijke macro's voor categorie zijn:
Macro's | Omschrijving |
---|---|
LC_ALL | Selecteert alle C-landinstellingen |
LC_COLLATE | Selecteer de sorteercategorie |
LC_CTYPE | Selecteert de karakterclassificatiecategorie |
LC_MONETARY | Selecteert de categorie geldopmaak |
LC_NUMERIC | Selecteert de numerieke opmaakcategorie |
LC_TIME | Selecteert de categorie voor tijdnotatie |
- locale: een systeemspecifieke locale-id. Als het een null-pointer is, vraagt een aanroep naar setlocale () de huidige C-locale op.
setlocale () Retourwaarde
- Bij succes retourneert de functie setlocale () een pointer naar de tekenreeks die de landinstelling C identificeert na het toepassen van de wijzigingen.
- Bij een mislukking retourneert het een nul-aanwijzer.
Voorbeeld: hoe werkt de functie 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; )
Wanneer u het programma uitvoert, is de uitvoer:
Huidige locale: en_US.utf8 Veranderende locale Huidige locale: en_GB.utf8