Provided by: manpages-de-dev_4.27.0-1_all bug

BEZEICHNUNG

       wcrtomb - Ein weites Zeichen in eine Multibyte-Sequenz umwandeln

BIBLIOTHEK

       Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

       #include <wchar.h>

       size_t wcrtomb(char *restrict z, wchar_t wz, mbstate_t *restrict ps);

BESCHREIBUNG

       Der  Haupteinsatzfall für diese Funktion liegt vor, wenn z nicht NULL ist und wz kein weites Null-Zeichen
       ist  (L'\0').  In  diesem  Fall  wandelt  die  Funktion  wcrtomb()  das  weite  Zeichen   wz   in   seine
       Multibyte-Darstellung  um und speichert sie am Anfang des Zeichenfeldes, auf das z zeigt. Es aktualisiert
       den Schiebezustand *ps und liefert die Länge der besagten Multibyte-Darstellung zurück, das bedeutet, die
       an z geschriebene Anzahl an Bytes.

       Ein anderer Fall liegt vor, wenn z nicht NULL ist aber wz ein weites Null-Zeichen ist (L'\0'). In  diesem
       Fall  speichert  die  Funktion  wcrtomb()  die  Schiebesequenz,  die  benötigt  wird,  um  *ps  in seinen
       anfänglichen Zustand im Zeichenfeld zurückzubringen, auf das z zeigt, gefolgt  von  einem  »\0«-Byte.  Es
       aktualisiert  den  Schiebezustand (d.h. bringt ihn in den anfänglichen Zustand) und liefert die Länge der
       Schiebesequenz plus eins zurück, das bedeutet, die an z geschriebene Anzahl an Bytes.

       Ein dritter Fall ist, wenn z NULL ist. In  diesem  Fall  wird  wz  ignoriert  und  die  Funktion  liefert
       letztendlich

           wcrtomb(buf, L'\0', ps)

       zurück, wobei buf ein interner anonymer Puffer ist.

       Falls  ps  NULL ist wird stattdessen in allen obigen Fällen ein statischer, anonymer Zustand, der nur der
       Funktion wcrtomb() bekannt ist, verwandt.

RÜCKGABEWERT

       Die Funktion wcrtomb() liefert die Anzahl der Byte zurück, die  in  das  Byte-Feld  unter  z  geschrieben
       worden  oder worden wären. Falls wz nicht als Multibyte-Sequenz dargestellt werden kann (entsprechend der
       aktuellen Locale), dann 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.
       ┌────────────────────────────────────────────────┬───────────────────────┬──────────────────────────────┐
       │ SchnittstelleAttributWert                         │
       ├────────────────────────────────────────────────┼───────────────────────┼──────────────────────────────┤
       │ wcrtomb()                                      │ Multithread-Fähigkeit │ MT-Unsicher race:wcrtomb/!ps │
       └────────────────────────────────────────────────┴───────────────────────┴──────────────────────────────┘

STANDARDS

       C11, POSIX.1-2008.

GESCHICHTE

       POSIX.1-2001, C99.

ANMERKUNGEN

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

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

SIEHE AUCH

       mbsinit(3), wcsrtombs(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 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.

Linux man-pages 6.9.1                             15. Juni 2024                                       wcrtomb(3)