std::mbstate_t
| Definiert in Header <cuchar> |
(seit C++17) |
|
| Definiert in Header <cwchar> |
||
| struct mbstate_t; |
||
Der Typ mbstate_t ist ein trivialer Nicht-Array-Typ, der alle Konvertierungszustände darstellen kann, die in einem implementierungsdefinierten Satz unterstützter 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 ganzzahligen Zähler für die Anzahl der im Array verarbeiteten Bytes und eine Darstellung des aktuellen Shift-Zustands enthält.
Die folgenden Funktionen dürfen nicht von mehreren Threads ohne Synchronisation mit dem Argument std::mbstate_t* als Nullzeiger aufgerufen werden, da dies zu Datenwettläufen führen kann: std::mbrlen, std::mbrtowc, std::mbsrtowcs, std::mbtowc, std::wcrtomb, std::wcsrtombs, std::wctomb.
[edit] Siehe auch
prüft, ob das std::mbstate_t-Objekt den anfänglichen Shift-Zustand darstellt(Funktion) | |
| C-Dokumentation für mbstate_t
| |