mbtowc(3) | Library Functions Manual | mbtowc(3) |
BEZEICHNUNG¶
mbtowc - Eine Multibyte-Sequenz in ein weites Zeichen umwandeln
BIBLIOTHEK¶
Standard-C-Bibliothek (libc, -lc)
ÜBERSICHT¶
#include <stdlib.h>
int mbtowc(wchar_t *restrict zwz, const char s[restrict .n], size_t n);
BESCHREIBUNG¶
Der Haupteinsatzfall für diese Funktion ist, wenn s und zwz nicht NULL sind. In diesem Fall untersucht die Funktion mbtowc() höchstens n 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 n 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 n >= 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 n 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 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.
15. Juni 2024 | Linux man-pages 6.9.1 |