Die Lokalität ist eine Untermenge der Festlegungen für die Laufzeitumgebung. Durch die Lokalität wird das Verhalten von C-Programmen in Bezug auf landesspezifische Konventionen, Normen und Sprachen beeinflusst. Die Lokalität besteht aus einer oder mehreren Kategorien. In XPG4 Version 2-konformen Umgebungen werden folgende Kategorien unterstützt:
| Beeinflusst alle Werte der aktuellen Lokalität. | ||||||||||||||||||||||||
| Beeinflusst die Sortierreihenfolge von Zeichen. Jedes Zeichen wird im Verhältnis zu einem anderen Zeichen durch ein Gewicht definiert. Dies hat Auswirkung auf das Verhalten von Im POSIX-Subsystem heißt die entsprechende Beschreibungsdatei Im BS2000 heißt die entsprechende Tabelle | ||||||||||||||||||||||||
| Beeinflusst die Zuordnung von Zeichen zu Zeichenklassen, die Zuordnung zwischen Groß- und Kleinbuchstaben und andere Zeicheneigenschaften. Im POSIX-Subsystem heißt die entsprechende Beschreibungsdatei Im BS2000 gibt es 3 Tabellen für alle EBCDIC-Zeichen: Die Klassifizierungstabelle
Die C-Werte sind in der Include-Datei Die Tabellen für die Umwandlung von Groß- in Kleinbuchstaben | ||||||||||||||||||||||||
| Beeinflusst die Formate von Meldungen. Im POSIX-Subsystem heißt die entsprechende Beschreibungsdatei Diese Kategorie wird durch die BS2000-Funktionalität nicht unterstützt. | ||||||||||||||||||||||||
| Beeinflusst die Formate von monetären Werten. Im POSIX-Subsystem heißt die entsprechende Beschreibungsdatei | ||||||||||||||||||||||||
| Beeinflusst die Darstellung von nichtmonetären numerischen Werten bei formatierter Ein-/Ausgabe ( Im POSIX-Subsystem heißt die entsprechende Beschreibungsdatei | ||||||||||||||||||||||||
| Beeinflusst die Darstellung von Datum und Uhrzeit beim Aufruf von Im POSIX-Subsystem heißt die entsprechende Beschreibungsdatei |
Diese Lokalitätskategorien sind auch als Umgebungsvariablen definiert.
Die XPG4 Version 2-konformen Kommandos (z.B. POSIX-Kommandos) werden in ihrem Verhalten durch die aktuelle Lokalität beeinflusst (siehe Abschnitt "Umgebungsvariablen“ und Handbuch „POSIX-Kommandos“ [2]). Mit den C-Bibliotheksfunktionen setlocale()
und localeconv()
kann die aktuelle Lokalität zur Laufzeit eines C-Programms geändert werden, andere C-Bibliotheksfunktionen werden von der aktuellen Lokalität beeinflusst:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Die C-Laufzeitbibiliothek stellt einige vordefinierte Lokalitäten zur Verfügung (siehe Abschnitt "Vordefinierte Lokalitäten“). Der Benutzer kann aber auch eigene Lokalitäten definieren (siehe Abschnitt "Benutzerspezifische Lokalitäten“).
Für die Unterstützung des Euros stellt Ihnen CRTE die vordefinierten Lokalitäten De.ED-F04F
und De.EDF04F@euro
zur Verfügung. Diese beiden Lokalitäten unterscheiden sich nur in der Kategorie LC_MONETARY
, die für die Lokalität De.EDF04F
die deutsche Mark (DM) darstellt, für die Lokalität De.EDF04F@euro
den Euro.
Wenn der Wert einer Lokalitätsumgebungsvariablen mit einem Schrägstrich (/) beginnt, wird er als Pfadname für die Lokalitätsdefinition interpretiert.
Anwendungen können die aktuelle Lokalität durch einen setlocale
-Aufruf ändern, d.h. mit einer anderen vordefinierten Lokalität besetzen. Wird die Funktion mit einer leeren Zeichenkette für locale aufgerufen, wird der Wert der Umgebungsvariablen ausgewertet, die durch das category-Argument angegeben ist:
setlocale(LC_ALL, "");
In diesem Fall werden alle Kategorien durch die entsprechenden Umgebungsvariablen bestimmt. Wenn die Umgebungsvariable nicht gesetzt ist oder eine leere Zeichenkette enthält, wird die Umgebung ausgewertet (siehe auch Abschnitt "Umgebungsvariablen“).