wcstombs(3) | Library Functions Manual | wcstombs(3) |
BEZEICHNUNG
wcstombs - Eine Zeichenkette weiter Zeichen in eine Multibyte-Zeichenkette konvertieren
BIBLIOTHEK
Standard-C-Bibliothek (libc, -lc)
ÜBERSICHT
#include <stdlib.h>
size_t wcstombs(char Ziel[restrict .n], const wchar_t *restrict Quelle, size_t n);
BESCHREIBUNG
Falls Ziel nicht NULL ist, konvertiert die Funktion wcstombs() die Zeichenkette weiter Zeichen Quelle in eine bei Ziel beginnende Multibyte-Zeichenkette. Es werden nach Ziel höchstens n byte geschrieben. Die in Ziel abgelegte Zeichensequenz beginnt im anfänglichen Schiebe-Zustand. Die Konvertierung kann aus drei Gründen stoppen:
- •
- Es wurde auf ein weites Zeichen gestossen, das nicht als Multibyte-Sequenz dargestellt werden kann (gemäß der aktuellen Locale). In diesem Fall wird (size_t) -1 zurückgeliefert.
- •
- Die Längenbegrenzung erzwingt einen Stopp. In diesem Fall wird die Anzahl der nach Ziel geschriebenen Bytes zurückgeliefert, aber der Schiebe-Zustand geht an diesem Punkt verloren.
- •
- Die Zeichenkette weiter Zeichen wurde vollständig umgewandelt, einschließlich des abschließenden weiten Nullzeichens (L'\0'). In diesem Fall endet die Umwandlung im anfänglichen Schiebe-Zustand. Es wird die Anzahl der nach Ziel geschriebenen Bytes ohne das abschließende Nullbyte (»\0«) zurückgeliefert.
Der Programmierer muss sicherstellen, dass bei Ziel Platz für mindestens n byte ist.
Falls Ziel NULL ist, wird n ignoriert und die Umwandlung fährt wie oben fort, außer dass die umgewandelten Bytes nicht in den Speicher geschrieben werden und keine Längenbeschränkung existiert.
Um den obigen zweiten Fall zu vermeiden, sollte der Programmierer sicherstellen, dass n größer oder gleich wcstombs(NULL,Quelle,0)+1 ist.
RÜCKGABEWERT
Die Funktion wcstombs() liefert die Anzahl der Bytes zurück, die den umgewandelten Teil der Multibyte-Sequenz darstellen, ohne das abschließende Nullbyte. Falls ein weites Zeichen angetroffen wurde, das nicht umgewandelt werden konnte, wird (size_t) -1 zurückgeliefert.
ATTRIBUTE
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
Schnittstelle | Attribut | Wert |
wcstombs() | Multithread-Fähigkeit | MT-Sicher |
VERSIONEN
Die Funktion wcsrtombs(3) stellt eine bessere Schnittstelle für die gleiche Funktionalität bereit.
STANDARDS
C11, POSIX.1-2008.
GESCHICHTE
POSIX.1-2001, C99.
ANMERKUNGEN
Das Verhalten von wcstombs() hängt von der Kategorie LC_CTYPE der aktuellen Locale ab.
SIEHE AUCH
Ü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.
15. Juni 2024 | Linux man-pages 6.9.1 |