Scroll to navigation

mbrlen(3) Library Functions Manual mbrlen(3)

BEZEICHNUNG

mbrlen - Die Anzahl der Bytes im nächsten Multibytezeichen ermitteln

BIBLIOTHEK

Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

#include <wchar.h>
size_t mbrlen(const char z[restrict .n], size_t n,
              mbstate_t *restrict ps);

BESCHREIBUNG

Die Funktion mbrlen() untersucht höchstens n byte der bei z beginnenden Multibytezeichenkette und löst das nächste vollständige Multibytezeichen aus. Es aktualisiert den Schiebe-Zustand *ps. Falls das Multibytezeichen nicht das weite Nullzeichen ist, liefert es die Anzahl der Bytes zurück, die aus z verbraucht wurden. Falls das Multibytezeichen das weite Nullzeichen ist, setzt es den Schiebe-Zustand *ps auf den anfänglichen Zustand zurück und liefert 0 zurück.

Falls die n bei z beginnenden Bytes kein vollständiges Mulitbytezeichen enthalten, liefert mbrlen() (size_t) -2 zurück. Dies kann passieren, selbst wenn n >= MB_CUR_MAX, falls die Multibytezeichenkette redundante Schiebesequenzen enthält.

Falls die bei z beginnende Multibytezeichenkette eine ungültige Multibytesequenz vor dem nächsten vollständigen Zeichen enthält, liefert mbrlen() (size_t) -1 zurück und setzt errno auf EILSEQ. In diesem Fall sind die Auswirkungen auf *ps nicht definiert.

Falls ps NULL ist, wird stattdessen eine anonyme statische, nur mbrlen() bekannte Funktion verwandt.

RÜCKGABEWERT

Die Funktion mbrlen() 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 (size_t) -1 zurück und setzt errno auf EILSEQ, falls eine ungültige Multibyte-Sequenz angetroffen wurde. Sie liefert (size_t) -2 zurück, falls sie kein vollständiges Multibytezeichen auswerten konnte, was bedeutet, dass n erhöht werden sollte.

ATTRIBUTE

Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.

Schnittstelle Attribut Wert
mbrlen() Multithread-Fähigkeit MT-Unsicher race:mbrlen/!ps

STANDARDS

C11, POSIX.1-2008.

GESCHICHTE

POSIX.1-2001, C99.

ANMERKUNGEN

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

SIEHE AUCH

mbrtowc(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 (unveröffentlicht)