wcsrtombs(3)

BEZEICHNUNG
wcsrtombs - eine Zeichenkette weiter Zeichen in eine Multibyte-Zeichenkette umwandeln

BIBLIOTHEK
Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT
#include <wchar.h>

size_t wcsrtombs(char Ziel[restrict .Länge], const wchar_t **restrict Quelle,
                 size_t Länge, mbstate_t *restrict ps);

BESCHREIBUNG
Falls Ziel nicht NULL ist, konvertiert die Funktion wcsrtombs() die Zeichenkette weiter Zeichen *Quelle in eine bei Ziel beginnende Multibytezeichenkette. Es werden höchstens Länge byte nach Ziel geschrieben. Der Schiebe-Zustand *ps wird aktualisiert. Die Umwandlung wird letztendlich durch wiederholten Aufruf von wcrtomb(Ziel, *Quelle, ps) durchgeführt, solange dieser Aufruf erfolgreich ist und dann wird Ziel um die Anzahl der geschriebenen Byte und *Quelle um eins erhöht. Die Umwandlung kann aus drei Gründen beendet werden:

•   Es wurde eine weites Zeichen angetroffen, das (gemäß der aktuellen Locale) nicht als Multibyte-Sequenz dargestellt werden kann. In diesem Fall verbleibt *Quelle auf das ungültige Zeichen zeigend, (size_t) -1 wird zurückgeliefert und errno wird auf EILSEQ gesetzt.

•   Die Längenbegrenzung erzwingt einen Stopp. In diesem Fall verbleibt *Quelle auf das nächste umzuwandelnde Zeichen zeigend und die Anzahl nach Ziel geschriebenen Bytes wird zurückgeliefert.

•   Die Zeichenkette weiter Zeichen wurde komplett umgewandelt, einschließlich des abschließenden weiten Nullzeichens (L'\0'). Dies hat den Seiteneffekt, dass es *ps wieder auf den Anfangszustand zurückbringt. In diesem Fall wird *Quelle auf NULL gesetzt und die Anzahl der nach Ziel geschriebenen Bytes, auschließlich des abschließenden weiten Nullzeichens (L'\0') wird zurückgeliefert.

Falls Ziel NULL ist, wird Länge ignoriert und die Umwandlung wird wie oben beschrieben fortgeführt, außer dass die umgewandelten Bytes nicht in den Speicher ausgegeben werden und dass keine Längenbeschränkung existiert.

In beiden obigen Fällen, falls ps NULL ist, wird stattdessen ein anonymer, nur der Funktion wcsrtombs() bekannter Zustand verwandt.

Der Programmierer muss sicherstellen, dass es Raum für mindestens Länge Byte bei Ziel gibt.

RÜCKGABEWERT
Die Funktion wcsrtombs() liefert die Anzahl der Byte zurück, aus denen der konvertierte Anteil der Multibyte-Sequenz besteht, ohne das abschließende Nullbyte. Falls ein weites Zeichen angetroffen wurde, das nicht konvertiert werden konnte, wird (size_t) -1 zurückgeliefert und errno auf EILSEQ gesetzt.

ATTRIBUTE
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
Schnittstelle | Attribut | Wert
wcsrtombs() | Multithread-Fähigkeit | MT-Unsicher race:wcsrtombs/!ps

STANDARDS
C11, POSIX.1-2008.

GESCHICHTE
POSIX.1-2001, C99.

ANMERKUNGEN
Das Verhalten von wcsrtombs() hängt von der Kategorie LC_CTYPE der aktuellen Locale ab.

Die Übergabe von NULL als ps ist nicht Multithread-sicher.

SIEHE AUCH
iconv(3), mbsinit(3), wcrtomb(3), wcsnrtombs(3), wcstombs(3)

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer (debian-l10n-german@lists.debian.org).