Defined in header <uchar.h> | (since C11) | |
---|---|---|
Defined in header <wchar.h> | ||
struct mbstate_t; | (since C95) |
The type mbstate_t
is a trivial non-array type that can represent any of the conversion states that can occur in an implementation-defined set of supported multibyte character encoding rules. Zero-initialized value of mbstate_t
represents the initial conversion state, although other values of mbstate_t
may exist that also represent the initial conversion state.
Possible implementation of mbstate_t
is a struct type holding an array representing the incomplete multibyte character, an integer counter indicating the number of bytes in the array that have been processed, and a representation of the current shift state.
The following functions should not be called from multiple threads without synchronization with the mbstate_t*
argument of NULL
due to possible data races: mbrlen
, mbrtowc
, mbsrtowcs
, mbtowc
, wcrtomb
, wcsrtombs
, wctomb
.
(C95) | checks if the mbstate_t object represents initial shift state (function) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/c/string/multibyte/mbstate_t