Namensräume
Varianten
Aktionen

mbstate_t

Von cppreference.com
< c‎ | string‎ | multibyte
Definiert im Header <uchar.h>
(seit C11)
Definiert in Header <wchar.h>
struct mbstate_t;
(seit C95)

Der Typ mbstate_t ist ein trivialer Nicht-Array-Typ, der alle Konvertierungszustände darstellen kann, die in einer implementierungsdefinierten Menge von unterstützten Multibyte-Zeichenkodierungsregeln auftreten können. Ein Null-initialisierter Wert von mbstate_t stellt den anfänglichen Konvertierungszustand dar, obwohl auch andere Werte von mbstate_t existieren können, die ebenfalls den anfänglichen Konvertierungszustand darstellen.

Eine mögliche Implementierung von mbstate_t ist ein Strukturtyp, der ein Array für das unvollständige Multibyte-Zeichen, einen Integer-Zähler, der die Anzahl der im Array verarbeiteten Bytes angibt, und eine Darstellung des aktuellen Shift-Zustands enthält.

Die folgenden Funktionen dürfen nicht von mehreren Threads ohne Synchronisation mit dem Argument mbstate_t* eines Nullzeigers aufgerufen werden, da dies zu möglichen Datenwettläufen führen kann: mbrlen, mbrtowc, mbsrtowcs, mbtowc, wcrtomb, wcsrtombs, wctomb.

[bearbeiten] Referenzen

  • C11-Standard (ISO/IEC 9899:2011)
  • 7.29.1/2 Einleitung (S. 402)
  • C99-Standard (ISO/IEC 9899:1999)
  • 7.24.1/2 Einleitung (S. 348)

[bearbeiten] Siehe auch

prüft, ob das mbstate_t-Objekt den anfänglichen Shift-Zustand darstellt
(Funktion) [bearbeiten]
C++-Dokumentation für mbstate_t