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
Ü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 |