Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chrtbl(1M)

mbchar(3C)

setlocale(3C)

environ(5)

stdlib(5)

wchar(5)

mbstring(3C)                                                   mbstring(3C)

NAME
     mbstring: mbstowcs, wcstombs, mbsrtowcs, wcsrtombs - Funktionen für
     Mehrbyte-Strings

SYNTAX
     #include <stdlib.h>
     #include <wchar.h>

     sizet mbstowcs(wchart *pwcs, const char *s, sizet n);

     sizet wcstombs(char *s, const wchart *pwcs, sizet n);

     sizet mbsrtowcs(wchart *dst, const char **src, sizet len,
            mbstatet *ps);

     sizet wcsrtombs(char *dst, const wchart **src, sizet len,
            mbstatet *ps);

BESCHREIBUNG
     mbstowcs() wandelt eine Folge von Mehrbytezeichen aus dem Array, auf
     den s zeigt, in eine Folge von entsprechenden Wide-Character-Codes um
     und speichert diese in dem Array, auf den pwcs zeigt. Nachdem n Zei-
     chen gespeichert wurden oder ein Zeichen mit dem Wert Null (ein umge-
     wandeltes Nullzeichen) aufgetreten ist, wird die Ausführung angehal-
     ten. Wenn ein ungültiges Mehrbytezeichen auftritt, gibt mbstowcs() den
     Wert (sizet)-1 zurück. Andernfalls gibt mbstowcs() die Anzahl der
     geänderten Array-Elemente ohne das abschließende Nullzeichen (falls
     vorhanden) zurück.

     wcstombs() wandelt eine Folge von Wide-Character-Codes aus dem Array,
     auf den pwcs zeigt, in eine Folge von Mehrbytezeichen um und speichert
     diese Mehrbytezeichen in dem Array, auf den s zeigt. Nachdem n Mehrby-
     tezeichen verarbeitet wurden, oder ein Nullzeichen aufgetreten ist,
     wird die Ausführung angehalten. Wenn ein Wide-Character auftritt, das
     keinem gültigen Mehrbytezeichen entspricht, gibt wcstombs() den Wert
     (sizet)-1 zurück. Andernfalls gibt wcstombs() die Anzahl der geänder-
     ten Bytes ohne das abschließende Nullzeichen (falls vorhanden) zurück.

     Die Funktion mbsrtowcs() wandelt eine Folge von Mehrbytezeichen aus
     dem Array, auf den src indirekt zeigt, in eine Folge von entsprechen-
     den Wide-Characters um; hierbei wird in dem Umwandlungsstatus begon-
     nen, der durch das Objekt beschrieben wird, auf das ps zeigt. Wenn dst
     kein Nullzeiger ist, werden die umgewandelten Zeichen nicht in dem
     Array gespeichert, auf den dst zeigt. Die Umwandlung wird bis zu einem
     abschließenden Nullzeichen einschließlich fortgesetzt; das Nullzeichen
     wird auch gespeichert. In folgenden beiden Fällen wird die Umwandlung
     vorzeitig gestoppt: Wenn eine Folge von Bytes auftritt, die kein gül-
     tiges Mehrbytezeichen bilden oder (vorausgesetzt dst ist kein Nullzei-
     ger) wenn len Codes in dem Array gespeichert wurden, auf den dst
     zeigt. Der Wert von len wird ignoriert, wenn dst ein Nullzeiger ist.
     Jede Umwandlung wird wie bei einem Aufruf der Funktion mbrtowc() aus-
     geführt.



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

mbstring(3C)                                                   mbstring(3C)

     Wenn dst kein Nullzeiger ist, wird dem Zeigerobjekt, auf das src
     zeigt, entweder ein Nullzeiger (wenn die Umwandlung aufgrund eines
     abschließenden Nullzeichens beendet wurde) oder die Adresse direkt
     nach dem zuletzt umgewandelten Mehrbytezeichen (falls vorhanden)
     zugeordnet. Wurde die Umwandlung aufgrund eines abschließenden Null-
     zeichens beendet und ist dst kein Nullzeiger, ist der beschriebene
     Status der Anfangsumwandlungsstatus.

     Die Funktion wcsrtombs() wandelt eine Folge von Wide-Characters aus
     dem Array, auf den src indirekt zeigt, in eine Folge von entsprechen-
     den Mehrbytezeichen um; hierbei wird in dem Umwandlungsstatus begon-
     nen, der durch das Objekt beschrieben wird, auf das ps zeigt. Wenn dst
     kein Nullzeiger ist, werden die umgewandelten Zeichen anschließend in
     dem Array gespeichert, auf den dst zeigt. Die Umwandlung wird bis zu
     einem abschließenden Nullzeichen einschließlich fortgesetzt; das Null-
     zeichen wird auch gespeichert. In folgenden beiden Fällen wird die
     Umwandlung vorzeitig gestoppt: Wenn ein Code auftritt, der keinem gül-
     tigen Mehrbytezeichen entspricht oder (vorausgesetzt dst ist kein
     Nullzeiger) wenn das nächste Mehrbytezeichen, das in dem Array, auf
     den dst zeigt, gespeichert werden soll, den Grenzwert von insgesamt
     len Bytes überschreiten würde. Jede Umwandlung wird wie bei einem Auf-
     ruf der Funktion wscrtombs() ausgeführt. Wenn die Umwandlung aufgrund
     eines abschließenden Nullzeichens beendet wird, werden auch die Bytes
     gespeichert, die für den Anfangsumwandlungsstatus direkt vor dem Null-
     byte erforderlich sind.

     Wenn dst kein Nullzeiger ist, wird dem Zeigerobjekt, auf das src
     zeigt, entweder ein Nullzeiger (wenn die Umwandlung aufgrund eines
     abschließenden Null-Wide-Characters beendet wurde) oder die Adresse
     direkt nach dem zuletzt umgewandelten Wide-Character (falls vorhanden)
     zugeordnet. Wurde die Umwandlung aufgrund eines abschließenden Null-
     Wide-Characters beendet, ist der beschriebene Status der Anfangsum-
     wandlungsstatus.

SIEHE AUCH
     chrtbl(1M), mbchar(3C), setlocale(3C), environ(5), stdlib(5),
     wchar(5).

















Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

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