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

Beschreibung

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 Nullzeiger 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 Nullzeiger ist und len Zeichen in das Feld, auf das dst zeigt, geschrieben worden sind.

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

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

Returnwert

Anzahl der erfolgreich konvertierten Multibyte-Zeichen

 


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

 

(size_t)-1

bei Fehler. errno wird gesetzt, um den Fehler anzuzeigen.
Der Konversions-Zustand ist undefiniert.

Fehler

mbsrtowcs() schlägt fehl, wenn gilt:

 

EILSEQ

Es tritt ein Konvertierungsfehler auf, das heißt eine Folge von Bytes, die kein gültiges Multibyte-Zeichen ergeben.

Siehe auch

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