Home
Main website
Display Sidebar
Hide Ads
Recent Changes
View Source:
mbsinit(3)
Edit
PageHistory
Diff
Info
LikePages
MBSINIT !!!MBSINIT NAME SYNOPSIS DESCRIPTION RETURN VALUE CONFORMING TO SEE ALSO NOTES ---- !!NAME mbsinit - test for initial shift state !!SYNOPSIS __#include __''ps''__); __ !!DESCRIPTION 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-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__, and the one used by wide character to multibyte conversion functions, such as __wcsrtombs__, 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 character to multibyte conversion functions never produce non-initial states, but the multibyte to wide character conversion functions like __mbrtowc__ 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( On Linux, the following works as well, but might generate compiler warnings: mbstate_t state = { 0 }; The function __mbsinit__ tests whether ''*ps'' corresponds to an initial state. !!RETURN VALUE __mbsinit__ returns non-zero if ''*ps'' is an initial state, or if ''ps'' is a null pointer. Otherwise it returns 0. !!CONFORMING TO ISO/ANSI C, UNIX98 !!SEE ALSO mbsrtowcs(3), wcsrtombs(3) !!NOTES The behaviour of __mbsinit__ depends on the LC_CTYPE category of the current locale. ----
One page links to
mbsinit(3)
:
Man3m
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.