Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Konvertiert eine Mehrbytezeichen zeichenkette in eine entsprechende zeichenkette Breitzeichen.Eine sicherere Version dieser Funktion ist verfügbar. Weitere Informationen finden Sie unter mbsrtowcs.
size_t mbsrtowcs(
wchar_t *wcstr,
const char **mbstr,
sizeof count,
mbstate_t *mbstate
);
template <size_t size>
size_t mbsrtowcs(
wchar_t (&wcstr)[size],
const char **mbstr,
sizeof count,
mbstate_t *mbstate
); // C++ only
Parameter
[out] wcstr
Der resultierenden konvertierten Adressenplatz der Zeichenfolge mit Breitzeichen.[in] mbstr
Indirekt Punkte auf den Speicherort der zu konvertierende zeichenkette Mehrbytezeichen.[in] count
Die Anzahl der zu konvertierenden Zeichen.[in] mbstate
Ein Zeiger auf einen mbstate_t Konvertierung zustands Objekt.
Rückgabewert
Gibt die Anzahl der Wörter konvertierten erfolgreich, jedoch nicht einschließlich des abschließenden NULL-Zeichens Wort des abschließenden NULL-Zeichens (sofern vorhanden), andernfalls -1 (null) zurück, wenn ein Fehler aufgetreten ist.
Hinweise
Die mbsrtowcs-Funktion konvertiert eine Zeichenfolge aus Mehrbytezeichen, wobei im angegebenen Zustand der Konvertierung in mbstate, durch indirekten spitzen Werte in mbstr, in die Adresse von wcstrenthalten ist.Die Konvertierung wird für jedes Zeichen auf Weiter: Mehrbytezeichen, die einen NULL-wertigen nach dem Abschluss erreicht ist, wenn kein entsprechendes Zeichen festgestellt wird, oder das nächste Zeichen als der Grenzwert übersteigen würde, die in countenthalten war.Wenn mbsrtowcs das Mehrbyte NULL-Zeichen („\ 0 ") entweder vor oder auftritt, wenn count auftritt, es zu einem NULL 16-Bit-Endzeichen konvertiert und beendet wird.
Daher ist die Zeichenfolge mit Breitzeichen unter wcstr auf NULL endende nur, wenn mbsrtowcs ein NULL-Zeichen Mehrbytes während der Konvertierung findet.Wenn die Sequenzen, die über mbstr und wcstr Überlappung, das Verhalten von mbsrtowcs dargestellt werden, nicht definiert ist.mbsrtowcs wurde durch die LC_TYPE-Kategorie des aktuellen Gebietsschemas betroffen.
Die mbsrtowcs-Funktion unterscheidet sich von mbstowcs, _mbstowcs_l durch seine Neustartfähigkeit.Der Zustand der Konvertierung in mbstate für nachfolgende Aufrufe an derselben oder zu einer anderen restartable Funktionen gespeichert.Ergebnisse werden nicht definiert, wenn die Verwendung restartable und nonrestartable Funktionen kombiniert.Beispielsweise kann eine Anwendung mbsrlen statt mbslenverwenden, wenn ein nachfolgender Aufruf von mbsrtowcs verwendet, wobei anstelle mbstowcs.
Wenn das Argument wcstrNULList, gibt mbsrtombs die erforderliche Größe in den Wörtern der Zielzeichenfolge zurück.Wenn mbstate NULL ist, wird der interne Zustand mbstate_t Konvertierung verwendet.Wenn die Zeichensequenz wchar Mehrbytezeichen keine entsprechende Darstellung verfügt, wird -1 zurückgegeben und errno wird auf EILSEQfestgelegt.
Wenn mbstrNULLungültige Parameter ist, wird der Ereignishandler aufgerufen, wie in Parametervalidierungbeschrieben.Wenn die Ausführung ermöglicht wird, um fortzufahren, gibt diese Funktion errno legt diesen fest EINVAL und -1 zurück.
In C++ verfügt diese Funktion keine Vorlagen Überladung, die aufruft, das neueres, speichern Entsprechung für diese Funktion.Weitere Informationen finden Sie unter Speichern Sie Vorlagen-Überladungen.
Ausnahmen
Die mbsrtowcs-Funktion ist multithreadsicher, solange keine Funktion im aktuellen Thread setlocale aufgerufen, während diese Funktion ausführt und mbstate nicht NULL ist.
.NET Framework-Entsprechung
Nicht zutreffend. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.
Anforderungen
Routine |
Erforderlicher Header |
|---|---|
mbsrtowcs |
<wchar.h> |