| wcsrtombs(3) | Library Functions Manual | wcsrtombs(3) |
wcsrtombs - eine Zeichenkette weiter Zeichen in eine Multibyte-Zeichenkette umwandeln
Standard-C-Bibliothek (libc, -lc)
#include <wchar.h>
size_t wcsrtombs(char Ziel[restrict .Länge], const wchar_t **restrict Quelle,
size_t Länge, mbstate_t *restrict ps);
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:
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.
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.
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 |
C11, POSIX.1-2008.
POSIX.1-2001, C99.
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.
iconv(3), mbsinit(3), wcrtomb(3), wcsnrtombs(3), wcstombs(3)
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.
| 15. Juni 2024 | Linux man-pages 6.9.1 |