Name
mbstate_t type — Represents a multibyte shift state
Synopsis
typedef . . . mbstate_t
The mbstate_t
type is an
opaque, POD type that stores the conversion state used to convert
between multibyte and wide characters. The type is
implementation-defined, but it is not an array type, so an mbstate_t
object can be returned from a
function.
A value of 0
for an
mbstate_t
object corresponds to
the initial shift state, although other values might also represent
the initial state. Thus, to initialize an mbstate_t
object, use a default
constructor:
std::mbstate_t mbs = std::mbstate_t( );
If two mbstate_t
objects
are identical, they represent the same shift state, but the reverse
is not necessarily true.
There is no way to compare two mbstate_t
objects to determine whether
they represent the same state, but you can call mbsinit
to determine whether a state is
the initial state.
Typically, you would use an mbstate_t
object by initializing it to the
initial shift state, then passing it to any of the multibyte
functions (such as mbrtowc
)
repeatedly. Each call to the multibyte function reads the shift
state and uses that information for the conversion, updating the
shift state depending on which multibyte characters were provided as
input. You should not alter the mbstate_t
object between calls to the
multibyte function.
Get C++ In a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.