mbtowc(3)

BEZEICHNUNG
mbtowc - Eine Multibyte-Sequenz in ein weites Zeichen umwandeln

BIBLIOTHEK
Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT
#include <stdlib.h>

int mbtowc(size_t Anzahl;
           wchar_t *restrict zwz, const char s[restrict Anzahl],
           size_t Anzahl);

BESCHREIBUNG
Der Haupteinsatzfall für diese Funktion ist, wenn s und zwz nicht NULL sind. In diesem Fall untersucht die Funktion mbtowc() höchstens Anzahl byte einer bei s beginnenden Multibyte-Zeichenkette, extrahiert das nächste vollständige Multibyte-Zeichen, wandelt es in ein weites Zeichen um und speichert es unter *zwz. Es aktualisiert den nur der Funktion mbtowc() bekannten internen Verschiebezustand. Falls s nicht auf ein Null-Byte (»\0«) zeigt, liefert es die Anzahl der Byte zurück, die von s verbraucht wurden, andernfalls liefert sie 0 zurück.

Falls die Anzahl bei s beginnenden Byte kein vollständiges Multibyte-Zeichen oder eine ungültige Multibyte-Sequenz enthalten, liefert mbtowc() -1 zurück. Dies kann passieren, selbst wenn Anzahl >= MB_CUR_MAX, falls die Multibyte-Sequenz redundante Verschiebezustände enthält.

Ein anderer Fall liegt vor, wenn s nicht NULL ist, aber zwz NULL ist. In diesem Fall verhält sich die Funktion mbtowc() wie oben, außer dass sie die umgewandelten weiten Zeichen nicht im Speicher speichert.

Ein dritter Fall liegt vor, wenn s NULL ist. In diesem Fall werden zwz und Anzahl ignoriert. Die Funktion mbtowc() setzt den nur ihr bekannten internen Verschiebezustand auf den Anfangszustand zurück und liefert einen von Null verschiedenen Wert zurück, falls die Kodierung einen nicht trivialen Verschiebezustand enthält oder Null, falls die Kodierung zustandslos ist.

RÜCKGABEWERT
Falls s nicht NULL ist, dann liefert die Funktion mbtowc() die Anzahl der bei s beginnenden verbrauchten Byte oder 0, falls s auf ein Null-Byte zeigt oder -1 im Fehlerfall, zurück.

Falls s NULL ist, dann liefert die Funktion mbtowc() einen von Null verschiedenen Wert zurück, falls die Kodierung einen nicht trivialen Verschiebezustand hat oder Null, falls die Kodierung zustandslos ist.

ATTRIBUTE
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
Schnittstelle | Attribut | Wert
mbtowc() | Multithread-Fähigkeit | MT-Unsicher race

VERSIONEN
Diese Funktion ist nicht Multithread-sicher. Die Funktion mbrtowc(3) stellt eine bessere Schnittstelle für die gleiche Funktionalität bereit.

STANDARDS
C11, POSIX.1-2008.

GESCHICHTE
POSIX.1-2001, C99.

ANMERKUNGEN
Das Verhalten von mbtowc() hängt von der Kategorie LC_CTYPE der aktuellen Locale ab.

SIEHE AUCH
MB_CUR_MAX(3), mblen(3), mbrtowc(3), mbstowcs(3), wcstombs(3), wctomb(3)

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer (debian-l10n-german@lists.debian.org).