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);

Beschreibung

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 Nullzeiger 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 Nullzeiger ist und das nächste Multibyte-Zeichen die Gesamtlänge len der in das Feld zu schreibenden Bytes übersteigen würde.

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

  • ein Nullzeiger, falls die Umwandlung mit dem Erreichen eines Nullzeichens beendet wurde

  • die Adresse direkt hinter dem letzten umgewandelten Langzeichen.

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

Returnwert

(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.

 

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

 


sonst

Siehe auch

mblen(), mbtowc(), wcstombs(), wctomb().