mbstate_t
| 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
| (C95) |
prüft, ob das mbstate_t-Objekt den anfänglichen Shift-Zustand darstellt (Funktion) |
| C++-Dokumentation für mbstate_t
| |