mbsinit(3) Library Functions Manual mbsinit(3) mbsinit - LIBRARY Standard C library (libc, -lc) #include int mbsinit(const mbstate_t *ps); Character conversion between the multibyte representation and the wide character representation uses conversion state, of type mbstate_t. Conversion 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. -- . : (mbsrtowcs(3)); (wcsrtombs(3)). mbstate_t. For 8-bit encodings, all states are equivalent to the initial state. For multibyte encodings like UTF-8, EUC-*, BIG5, or SJIS, the wide character 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. mbstate_t : mbstate_t state; memset(&state, 0, sizeof(state)); Linux , : mbstate_t state = { 0 }; mbsinit() *ps . mbsinit() , *ps , ps NULL. 0. attributes(7). +----------------------------+----------------------------------------------------------+--------------------------+ | | | | +----------------------------+----------------------------------------------------------+--------------------------+ |mbsinit() | | MT-Safe | +----------------------------+----------------------------------------------------------+--------------------------+ C11, POSIX.1-2008. POSIX.1-2001, C99. mbsinit() LC_CTYPE . . mbrlen(3), mbrtowc(3), mbsrtowcs(3), wcrtomb(3), wcsrtombs(3) aereiae , Alexey , Azamat Hackimov , Dmitriy S. Seregin , Dmitry Bolkhovskikh , ITriskTI , Max Is , Yuri Kozlov , ; GNU 3 , . . , , . Linux man-pages 6.06 28 2024 . mbsinit(3)