Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

wcsrtombs - Langzeichenkette in Multibyte-Zeichenkette umwandeln

&pagelevel(4)&pagelevel

Definition

#include <wchar.h>

size_t wcsrtombs(char *dst, const wchar_t **src, size_t len, mbstate_t *ps);

wcsrtombs konvertiert eine Folge von Langzeichen aus dem Feld, auf das src indirekt zeigt, in Multibyte-Zeichen. mbsrtowcs beginnt die Umwandlung mit dem Konvertierungszustand, der in *ps beschrieben wird. Die konvertierten Zeichen werden in das Feld geschrieben, auf das dst zeigt, sofern dst kein NULL-Zeiger ist. Jedes einzelne Zeichen wird so konvertiert, als sei die Funktion wcrtomb aufgerufen worden.

Die Umwandlung ist beendet, wenn ein abschließendes Nullzeichen auftritt. Das Nullzeichen wird ebenfalls umgewandelt und in das Feld geschrieben.

Die Umwandlung wird vorher abgebrochen, wenn

  • eine Bytefolge auftritt, zu der kein gültiges Multibyte-Zeichen korrespondiert oder

  • dst kein NULL-Zeiger ist und das nächste Multibyte-Zeichen die Gesamtlänge len der in das Feld zu schreibenden Bytes übersteigen würde.

Wenn dst kein NULL-Zeiger ist, wird dem Zeigerobjekt, auf das src zeigt, einer der beiden folgenden Werte zugewiesen:

  • ein NULL-Zeiger, falls die Umwandlung mit dem Erreichen eines Nullzeichens beendet wurde

  • die Adresse direkt hinter dem letzten umgewandelten Langzeichen.

Wenn dst kein NULL-Zeiger ist und die Umwandlung mit dem Erreichen eines Nullzeichens beendet wurde, entspricht der Ergebniszustand dem „initial conversion“ Zustand.

Returnwert

Anzahl der Bytes in der konvertierten Multibyte-Zeichenkette (ohne abschließendes Nullzeichen)

 


bei Erfolg

 

(size_t)-1

wenn ein Konvertierungsfehler auftritt, das heißt eine Folge von Bytes, zu der kein gültiges Multibyte-Zeichen korrespondiert. In errno wird der Wert des Makros EILSEQ geschrieben. Der Konversions-Zustand ist undefiniert

Siehe auch

mblen, mbtowc, wcstombs, wctomb