mblen(3) Library Functions Manual mblen(3)

mblen - Bestimmen der Anzahl der Bytes im nächsten Multibyte-Zeichen

Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

#include <stdlib.h>
int mblen(const char z[.n], size_t n);

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.

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.

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

Die Funktion mbrlen(3) stellt eine bessere Schnittstelle für die gleiche Funktionalität bereit.

C11, POSIX.1-2008.

POSIX.1-2001, C99.

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

mbrlen(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.

2. Mai 2024 Linux man-pages 6.8