Scroll to navigation

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

mblen(3), mbstowcs(3), mbtowc(3), wcsrtombs(3), wctomb(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.

2. Mai 2024 Linux man-pages (unveröffentlicht)