Die Funktion setlocale () in C ++ legt die Gebietsschemainformationen für das aktuelle Programm fest.
Die Funktion setlocale () ist in der Header-Datei definiert.
setlocale () Prototyp
int setlocale (int category, const char * locale);
Mit der Funktion setlocale wird ein angegebenes Systemgebietsschema für die angegebene Kategorie festgelegt. Die Funktion setlocale kann auch zum Abfragen des aktuellen C-Gebietsschemas verwendet werden.
Dies kann durch Übergeben eines Nullzeigers anstelle des Gebietsschemas erfolgen.
setlocale () Parameter
- Kategorie: Gibt an, welche Gebietsschemainformationen des Programms betroffen sind. Die möglichen Makros für die Kategorie sind:
Makros | Beschreibung |
---|---|
LC_ALL | Wählt das gesamte Gebietsschema C aus |
LC_COLLATE | Wählen Sie die Sortierkategorie aus |
LC_CTYPE | Wählt die Zeichenklassifizierungskategorie aus |
LC_MONETARY | Wählt die monetäre Formatierungskategorie aus |
LC_NUMERIC | Wählt die numerische Formatierungskategorie aus |
LC_TIME | Wählt die Zeitformatierungskategorie aus |
- Gebietsschema: Eine systemspezifische Gebietsschema-ID. Wenn es sich um einen Nullzeiger handelt, fragt ein Aufruf von setlocale () das aktuelle C-Gebietsschema ab.
setlocale () Rückgabewert
- Bei Erfolg gibt die Funktion setlocale () einen Zeiger auf die Zeichenfolge zurück, die das C-Gebietsschema identifiziert, nachdem die Änderungen übernommen wurden.
- Bei einem Fehler wird ein Nullzeiger zurückgegeben.
Beispiel: Wie funktioniert die Funktion 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; )
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
Aktuelles Gebietsschema: en_US.utf8 Ändern des Gebietsschemas Aktuelles Gebietsschema: en_GB.utf8