|
|||||||
|
|
LOCALESection: Verschiedenes (7)Updated: 7. Februar 1999 Index Return to Main Contents BEZEICHNUNGlocale - Beschreibung der Mehrsprachen-UnterstützungÜBERSICHT#include <locale.h> BESCHREIBUNGEine Lokale ist ein Satz von Sprach- und kultureller Regeln. Sie behandeln Aspekte wie Sprache für Meldungen, unterschiedliche Zeichensätze, lexikografische Konventionen etc. Ein Programm muß in der Lage sein, die Locale zu ermitteln und entsprechen zu reagieren, um in unterschiedlichen Kulturen eingsetzt werden zu können.Die Header-Datei <locale.h> deklariert Datentypen, Funktionen und Makros, die für diese Aufgabe hilfreich sind. Die Funktionen, die deklariert werden, sind setlocale(), um die aktuelle Locale zu setzen und localeconv(), um Informationen über Zahlenformate zu erhalten. Es gibt unterschiedliche Kategorien für lokale Informationen, die ein Programm benötigt. Sie sind als Makros deklariert. Wenn sie als erstes Argument für setlocale() benutzt werden, ist es möglich, eine dieser auf die gewünschte Locale zu setzen:
Wenn das zweite Argument von setlocale() für die vorgegebene Locale ein leerer String ist, wird wird sie anhand folgender Schritte ermittelt:
Informationen über Formatierung von Zahlen wird in einer Datenstruktur gespeichert, die von der Routine localeconv() zurückgegeben wird. Sie ist wie folgt deklariert:
struct lconv
{
/* Numerische (nicht finanzielle) Informationen. ----- */
char *decimal_point; /* Dezimaltrennzeichen. */
char *thousands_sep; /* Tausender-Begrenzer. */
/* Jedes Element entspricht der Anzahl von Ziffern in jeder Gruppe.
Elemente mit einem höheren Index stehen weiter links. Ein
Element mit dem Wert CHAR_MAX bedeutet, daß keine weitere
Gruppierung mehr stattfindet. Ein Element mit einem Wert von 0
bedeutet, daß das vorherige Element für alle Gruppen weiter links
benutzt wird. */
char *grouping;
/* Finanz-Informationen. ---------------------------- */
/* Die ersten drei Zeichen stellen das Währungszeichen gemäß ISO
4217 dar. Das vierte Zeichen ist ein Trennungszeichen, das
fünfte Zeichen ist ' '. */
char *int_curr_symbol;
char *currency_symbol; /* Lokales Währungssymbol. */
char *mon_decimal_point; /* Dezimaltrennzeichen. */
char *mon_thousands_sep; /* Tausender-Begrenzer. */
char *mon_grouping; /* Wie das `grouping'-Element (oben). */
char *positive_sign; /* Vorzeichen für positive Werte. */
char *negative_sign; /* Vorzeichen für negative Werte. */
char int_frac_digits; /* Int'l fractional digits. */
char frac_digits; /* Local fractional digits. */
/* 1 wenn currency_symbol einem positiven Wert vorangestellt wird,
0 precedes es nachgestellt wird */
char p_cs_precedes;
/* 1 wenn ein Leerzeichen currency_symbol von einem positiven Wert trennt. */
char p_sep_by_space;
/* 1 wenn currency_symbol einem negativen vorangestellt wird,
0 wenn es nachgestellt wird */
char n_cs_precedes;
/* 1 wenn ein Leerzeichen currency_symbol von einem negativen Wert trennt. */
char n_sep_by_space;
/* Positionen positiver und negativer Vorzeichen:
0 Klammern umgeben die Menge und currency_symbol.
1 Das Vorzeichen wird der Menge und currency_symbol vorangestellt.
2 Das Vorzeichen wird der Menge und currency_symbol nachgestellt.
3 Das Vorzeichen wird currency_symbol unmittelbar vorangestellt.
4 Das Vorzeichen wird currency_symbol unmittelbar nachgestellt. */
char p_sign_posn;
char n_sign_posn;
};
KONFORM ZUPOSIX.1SIEHE AUCHsetlocale(3), localeconv(3), locale(1), localedef(1), rpmatch(3), strfmon(3), strcoll(3), strxfrm(3), strftime(3).
Index | ||||||
|
|
|
Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account Document on this page is part of "Linuxinfor Man Pages in HTML Format: man7". See Index Page for more info about Authorship and Copyright. 1999-2008 Linuxinfor.com. No rights reserved. |