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

BEZEICHNUNG

       wcsnrtombs - Eine Zeichenkette weiter Zeichen in eine Multibyte-Zeichenkette umwandeln

BIBLIOTHEK

       Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

       #include <wchar.h>

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

   Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)):

       wcsnrtombs():
           Seit Glibc 2.10:
               _POSIX_C_SOURCE >= 200809L
           Vor Glibc 2.10:
               _GNU_SOURCE

BESCHREIBUNG

       Die Funktion wcsnrtombs() ist ähnlich der Funktion wcsrtombs(3), außer dass die Anzahl der umzuwandelnden
       weiten Zeichen, beginnend bei *Quelle, auf awz begrenzt ist.

       Falls  Ziel  nicht  NULL  ist,  wandelt  die  Funktion  wcsnrtombs()  höchstens awz weite Zeichen aus der
       Zeichenkette weiter Zeichen *Quelle in eine bei Ziel beginnende Multibyte-Sequenz um. Es werden höchstens
       Länge byte nach  Ziel  geschrieben.  Der  Schiebezustand  *ps  wird  aktualisiert.  Die  Umwandlung  wird
       letztendlich  durch  wiederholten  Aufruf  von  wcrtomb(Ziel,  *Quelle, ps) durchgeführt, so lange dieser
       Aufruf erfolgreich ist und der Erhöhung von Ziel um die Anzahl der  geschriebenen  Byte  und  *Quelle  um
       eins. Die Umwandlung kann aus drei Gründen stoppen:

       •  Es  wurde ein 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.

       •  Es  wurden  awz  weite Zeichen umgewandelt, ohne dass ein weites Nullzeichen (L'\0') angetroffen wurde
          oder die Längenbeschränkung erzwingt einen Stopp. In diesem  Fall  zeigt  *Quelle  weiterhin  auf  das
          nächste   umzuwandelnde   weite  Zeichen  und  die  Anzahl  der  nach  Ziel  geschriebenen  Byte  wird
          zurückgeliefert.

       •  Die Zeichenkette weiter Zeichen wurde komplett umgewandelt, einschließlich des  abschließenden  weiten
          Null-Zeichens   (dies  hat  den  Seiteneffekt,  dass  *ps  wieder  in  seinen  ursprünglichen  Zustand
          zurückkehrt). In diesem Fall wird *Quelle auf NULL gesetzt und die Anzahl der nach Ziel  geschriebenen
          Byte, ohne das abschließende Null-Byte (»\0«), wird zurückgeliefert.

       Falls  Ziel  NULL  ist,  dann wird Länge ignoriert und die Umwandlung fährt wie oben fort, außer dass die
       umgewandelten Bytes nicht in den Speicher rausgeschrieben werden und  dass  keine  Ziellängenbeschränkung
       existiert.

       Falls  ps  NULL  ist,  wird in beiden obigen Fällen ein statischer anonymer Zustand, den nur die Funktion
       wcsnrtombs() kennt, stattdessen verwandt.

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

RÜCKGABEWERT

       Die  Funktion  wcsnrtombs()  liefert  die  Anzahl  an  Byte,   die   den   umgewandelten   Anteil   einer
       Multibyte-Sequenz  darstellen,  ohne  das  abschließende  Null-Byte. Falls ein weites Zeichen angetroffen
       wurde, das nicht umgewandelt 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.
       ┌───────────────┬───────────────────────┬───────────────────────────────────────────────────────────────┐
       │ SchnittstelleAttributWert                                                          │
       ├───────────────┼───────────────────────┼───────────────────────────────────────────────────────────────┤
       │ wcsnrtombs()  │ Multithread-Fähigkeit │ MT-Unsicher race:wcsnrtombs/!ps                               │
       └───────────────┴───────────────────────┴───────────────────────────────────────────────────────────────┘

STANDARDS

       POSIX.1-2008.

ANMERKUNGEN

       Das Verhalten von wcsnrtombs() 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), 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                                    wcsnrtombs(3)