C ++ setlocale () - C ++ Standardbibliothek

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:
Kategoriemakro für setlocale ()
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

Interessante Beiträge...