Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

mbsrtowcs - Multibyte-Zeichenkette in Langzeichenkette umwandeln

&pagelevel(4)&pagelevel

Definition

#include <wchar.h>

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

mbsrtowcs konvertiert eine Folge von Multibyte-Zeichen aus dem Feld, auf das src indirekt zeigt, in Langzeichen. 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 mbrtowc 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, die kein gültiges Multibyte-Zeichen darstellt oder

  • dst kein NULL-Zeiger ist und len Zeichen in das Feld, auf das dst zeigt, geschrieben worden sind.

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 Multibyte-Zeichen.

Wenn dst kein NULL-Zeiger 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, die kein gültiges Multibyte-Zeichen ergeben. In errno wird der Wert des Makros EILSEQ geschrieben. Der Konversions-Zustand ist undefiniert.

 

Anzahl der erfolgreich konvertierten Multibyte-Zeichen

 


sonst. Das abschließende Nullzeichen (falls vorhanden) wird nicht mitgezählt.

Siehe auch

mblen, mbtowc, wcstombs, wctomb