dwww Home | Manual pages | Find package

mbstate_t(3type)                                               mbstate_t(3type)

NAME
       mbstate_t - multi-byte-character conversion state

LIBRARY
       Standard C library (libc)

SYNOPSIS
       #include <wchar.h>

       typedef /* ... */  mbstate_t;

DESCRIPTION
       Character  conversion  between the multibyte representation and the wide
       character representation uses conversion state, of type mbstate_t.  Con-
       version of a string uses a finite-state machine; when it is  interrupted
       after  the complete conversion of a number of characters, it may need to
       save a state for processing the remaining characters.  Such a conversion
       state is needed for the sake of  encodings  such  as  ISO/IEC  2022  and
       UTF-7.

       The  initial  state  is  the  state  at the beginning of conversion of a
       string.  There are two kinds of state: the one used by multibyte to wide
       character conversion functions, such as mbsrtowcs(3), and the  one  used
       by  wide  character  to  multibyte  conversion  functions, such as wcsr-
       tombs(3), but they both fit in a mbstate_t, and they both have the  same
       representation for an initial state.

       For  8-bit  encodings,  all  states are equivalent to the initial state.
       For multibyte encodings like UTF-8, EUC-*, BIG5, or SJIS, the wide char-
       acter  to  multibyte  conversion  functions  never  produce  non-initial
       states,  but  the  multibyte to wide-character conversion functions like
       mbrtowc(3) do produce non-initial states when interrupted in the  middle
       of a character.

       One possible way to create an mbstate_t in initial state is to set it to
       zero:

           mbstate_t state;
           memset(&state, 0, sizeof(state));

       On Linux, the following works as well, but might generate compiler warn-
       ings:

           mbstate_t state = { 0 };

STANDARDS
       C11, POSIX.1-2008.

HISTORY
       C99, POSIX.1-2001.

SEE ALSO
       mbrlen(3),   mbrtowc(3),  mbsinit(3),  mbsrtowcs(3),  wcrtomb(3),  wcsr-
       tombs(3)

Linux man-pages 6.9.1              2024-05-03                  mbstate_t(3type)

Generated by dwww version 1.16 on Tue Dec 16 04:22:26 CET 2025.