mblen(3) | Library Functions Manual | mblen(3) |
BEZEICHNUNG
mblen - Bestimmen der Anzahl der Bytes im nächsten Multibyte-Zeichen
BIBLIOTHEK
Standard-C-Bibliothek (libc, -lc)
ÜBERSICHT
#include <stdlib.h>
int mblen(const char z[.n], size_t n);
BESCHREIBUNG
Falls z nicht NULL ist, untersucht die Funktion mblen() höchstens n byte der bei z beginnenden Multibyte-Zeichenkette und löst das nächste Multibyte-Zeichen heraus. Es verwendet einen statischen anonymen Verschiebe-Zustand, der nur der Funktion mblen() bekannt ist. Falls das Multibyte-Zeichen nicht das weite Nullzeichen ist, liefert es die Anzahl der Bytes zurück, die aus z verbraucht wurden. Falls das Multibyte-Zeichen das weite Nullzeichen ist, liefert sie 0 zurück.
Falls die bei z beginnenden n byte kein vollständiges Multibyte-Zeichen enthalten, liefert mblen() -1 zurück. Das kann selbst dann passieren, falls n größer oder gleich MB_CUR_MAX ist, falls die Multibyte-Zeichenkette redundante Verschiebesequenzen enthält.
Falls die bei z beginnende Zeichenkette eine ungültige Multibytesequenz vor dem nächsten vollständigen Zeichen enthält, liefert mblen() auch -1 zurück.
Falls z NULL ist, setzt mblen() den nur dieser Funktion bekannten Schiebe-Zustand auf den anfänglichen Zustand zurück und liefert einen von Null verschiedenen Wert zurück, falls die Kodierung einen nicht trivialen Schiebe-Zustand hat oder Null, falls die Kodierung zustandsfrei ist.
RÜCKGABEWERT
Die Funktion mblen() liefert die Anzahl der aus der bei z beginnenden Multibyte-Sequenz ausgewerteten Bytes zurück, falls ein von Null verschiedenes weites Zeichen erkannt wurde. Sie liefert 0 zurück, falls ein weites Nullzeichen erkannt wurde. Sie liefert -1 zurück, falls eine ungültige Multibyte-Sequenz angetroffen wurde oder sie kein vollständiges Multibyte-Zeichen auswerten konnte.
ATTRIBUTE
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
Schnittstelle | Attribut | Wert |
mblen() | Multithread-Fähigkeit | MT-Unsicher race |
VERSIONEN
Die Funktion mbrlen(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 mblen() hängt von der Kategorie LC_CTYPE der aktuellen Locale ab.
SIEHE AUCH
Ü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.
2. Mai 2024 | Linux man-pages 6.8 |