Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ setlocale(3C) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ctime(3C)

ctype(3C)

getdate(3C)

gettxt(3C)

localeconv(3C)

mbtowc(3C)

strcoll(3C)

strftime(3C)

strtod(3C)

strxfrm(3C)

wctomb(3C)

printf(3S)

environ(5)

setlocale(3C)                                                 setlocale(3C)

NAME
     setlocale - Umgebung eines Programms abfragen/einstellen

SYNTAX
     #include <locale.h>

     char *setlocale(int category, const char *locale);

BESCHREIBUNG
     setlocale() wählt den entsprechenden Teil der lokalen Umgebung eines
     Programms aus, wie er in category und locale angegeben wird. category
     kann die folgenden Werte enthalten: LCCTYPE, LCNUMERIC, LCTIME,
     LCCOLLATE, LCMONETARY, LCMESSAGES und LCALL. Diese Namen werden in
     der Datei locale.h definiert. LCCTYPE beeinflußt das Verhalten der
     Funktionen zur Zeichenbearbeitung (isdigit(), tolower(), etc.) und die
     Mehrbyte-Funktionen zur Zeichenbearbeitung [wie mbtowc() und
     wctomb()]. LCNUMERIC beeinflußt den Dezimalpunkt für die formatierte
     Ein/Ausgabe und die Zeichenketten-Umwandlungsfunktionen und die nicht-
     monetären Formatierungsinformationen, die von localeconv() zurückgege-
     ben werden [siehe localeconv(3C)]. LCTIME beeinflußt das Verhalten
     von ascftime(), cftime(), getdate() und strftime(). LCCOLLATE beein-
     flußt das Verhalten von strcoll() und strxfrm(). LCMONETARY beein-
     flußt die monetären Formatierungsinformationen, die von localeconv()
     zurückgegeben werden. LCMESSAGES beeinflußt das Verhalten von
     gettxt() catopen(), catclose() und catgets() [siehe catopen(3C) und
     catgets(3C)]. LCALL bezeichnet die vollständige lokale Umgebung des
     Programms.

     Jede Kategorie entspricht einer Datenbasis, die die relevanten Infor-
     mationen für jede definierte lokale Umgebung enthält. Die Position
     einer Datenbasis wird durch den Pfad /usr/lib/locale/locale/category
     gegeben, wobei locale und category die Namen der lokalen Umgebung und
     der Kategorien sind. Beispielsweise werden die Daten für die Kategorie
     LCCTYPE für die lokale Umgebung "german" unter
     /usr/lib/locale/german/LCCTYPE angesprochen.

     Die Werte "POSIX" oder "C" für locale geben die voreingestellte mini-
     male lokale Umgebung an.

     Der Wert "" für locale gibt an, daß die lokale Umgebung aus den Umge-
     bungsvariablen übernommen werden soll. Die Reihenfolge, in der die
     Umgebungsvariablen auf die verschiedenen Kategorien überprüft werden,
     ist:












Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

setlocale(3C)                                                 setlocale(3C)

     Kategorie      1. Umg.-Var.   2. Umg.-Var.

     LCCTYPE:      LCCTYPE       LANG
     LCCOLLATE:    LCCOLLATE     LANG
     LCTIME:       LCTIME        LANG
     LCNUMERIC:    LCNUMERIC     LANG
     LCMONETARY:   LCMONETARY    LANG
     LCMESSAGES:   LCMESSAGES    LANG

     Bei Programmstart wird das Äquivalent von

          setlocale(LCALL, "C")

     ausgeführt. Dadurch wird jede Kategorie auf der lokalen Umgebung
     initialisiert, die durch die lokale Umgebung "C" beschrieben ist.

     Wird für locale ein Zeiger auf eine Zeichenkette übergeben, so ver-
     sucht setlocale(), die lokale Umgebung für die gegebene Kategorie auf
     locale zu setzen. Ist setlocale() erfolgreich, kehrt locale zurück.
     Scheitert setlocale(), wird ein Nullzeiger zurückgegeben, und die
     lokale Umgebung des Programms wird nicht verändert.

     Für die Kategorie LCALL ist das Verhalten etwas anders. Wird für
     locale ein Zeiger auf eine Zeichenkette übergeben und ist die Katego-
     rie gleich LCALL, dann versucht setlocale(), die Umgebungseinstellun-
     gen für alle Kategorien auf locale zu setzen. locale kann dabei eine
     einfache oder eine zusammengesetzte lokale Umgebung sein. Eine zusam-
     mengesetzte lokale Umgebung ist eine Zeichenkette, die mit einem /
     beginnt, auf den die lokale Umgebung jeder Kategorie folgt, wiederum
     getrennt durch ein /. Wenn setlocale() für eine Kategorie scheitert,
     wird ein Nullzeiger zurückgegeben, und die Kategorien der Umgebungs-
     einstellungen des Programms werden nicht geändert. Andernfalls wird
     die lokale Umgebung zurückgeliefert.

     Ein Nullzeiger für locale veranlaßt setlocale(), die aktuelle lokale
     Umgebung zurückzugeben, die für category eingestellt ist. Die Einstel-
     lung wird nicht geändert.

DATEIEN
     /usr/lib/locale/C/LCCTYPE - LCCTYPE
     /usr/lib/locale/C/LCNUMERIC - LCNUMERIC
     /usr/lib/locale/C/LCTIME - LCTIME
     /usr/lib/locale/C/LCCOLLATE - LCCOLLATE
     /usr/lib/locale/C/LCMESSAGES - LCMESSAGES

     usr/lib/locale/locale/category
          Dateien mit umgebungsspezifischen Informationen für jede lokale
          Umgebung und jede Kategorie






Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

setlocale(3C)                                                 setlocale(3C)

SIEHE AUCH
     ctime(3C), ctype(3C), getdate(3C), gettxt(3C), localeconv(3C),
     mbtowc(3C), strcoll(3C), strftime(3C), strtod(3C), strxfrm(3C),
     wctomb(3C), printf(3S), environ(5).


















































Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026