Namespaces
Variants

LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME

From cppreference.net
Definiert im Header <clocale>
#define LC_ALL /* implementation defined */
#define LC_COLLATE /* implementation defined */
#define LC_CTYPE /* implementation defined */
#define LC_MONETARY /* implementation defined */
#define LC_NUMERIC /* implementation defined */
#define LC_TIME /* implementation defined */

Jede der oben genannten Makrokonstanten erweitert sich zu ganzzahligen Konstantenausdrücken mit unterschiedlichen Werten, die für die Verwendung als erstes Argument von std::setlocale geeignet sind.

Konstante Erklärung
LC_ALL wählt die gesamte C-Locale aus
LC_COLLATE wählt die Sortierkategorie der C-Locale aus
LC_CTYPE wählt die Zeichenklassifizierungskategorie der C-Locale aus
LC_MONETARY wählt die Währungsformatierungskategorie der C-Locale aus
LC_NUMERIC wählt die Zahlenformatierungskategorie der C-Locale aus
LC_TIME wählt die Zeitformatierungskategorie der C-Locale aus

Zusätzliche Makrokonstanten, deren Namen mit LC_ beginnen, gefolgt von mindestens einem Großbuchstaben, können in <clocale> definiert werden. Beispielsweise verlangt die POSIX-Spezifikation LC_MESSAGES (das std::perror und std::strerror steuert), ISO/IEC 30112:2014 ( 2014-Entwurf ) definiert zusätzlich LC_IDENTIFICATION , LC_XLITERATE , LC_NAME , LC_ADDRESS , LC_TELEPHONE , LC_PAPER , LC_MEASUREMENT , und LC_KEYBOARD , die von der GNU-C-Bibliothek unterstützt werden (mit Ausnahme von LC_XLITERATE ).

Beispiel

#include <clocale>
#include <cstdio>
#include <ctime>
#include <cwchar>
int main()
{
    // das C-Locale wird das UTF-8-aktivierte Englisch sein:
    std::setlocale(LC_ALL, "en_US.UTF-8");
    // Dezimaltrennzeichen wird Deutsch sein:
    std::setlocale(LC_NUMERIC, "de_DE.UTF-8");
    // Datums-/Zeitformatierung wird Japanisch sein:
    std::setlocale(LC_TIME, "ja_JP.UTF-8");
    wchar_t str[100];
    std::time_t t = std::time(nullptr);
    std::wcsftime(str, 100, L"%A %c", std::localtime(&t));
    std::wprintf(L"Number: %.2f\nDate: %Ls\n", 3.14, str);
}

Ausgabe:

Number: 3,14
Date: 日曜日 2022年11月06日 17時55分10秒

Siehe auch

Ermittelt und setzt die aktuelle C-Lokalisierung
(Funktion)
Satz polymorpher Facetten, die kulturelle Unterschiede kapseln
(Klasse)
C-Dokumentation für Lokalisierungskategorien