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(size_t n;
          const char s[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
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 (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.