mbsinit - Determine whether a multibyte-character string
is in the initial conversion state
#include <wchar.h>
int mbsinit(
const mbstate_t *ps );
Standard C Library (libc)
Interfaces documented on this reference page conform to
industry standards as follows:
mbsinit(): XSH5.0
Refer to the standards(5) reference page for more information
about industry standards and associated tags.
Points to an mbstate_t object, which describes the conversion
state of the current character in the string being
converted. The initial conversion state for conversion in
either direction (multibyte to wide-character format or
the reverse) corresponds to the beginning of the character's
multibyte encoding sequence in the initial shift
state as defined by the LC_TYPE category of the current
locale.
The mbsinit() function determines whether the sequence of
characters being converted is in the initial conversion
state; that is, the function determines whether the multibyte
encoding for the current character in this sequence
is in the initial shift state as defined by the LC_TYPE
category of the current locale. The application can use a
zero return, which indicates that the character sequence
is not in initial conversion state, to initiate a conversion
operation.
Use this function along with the restartable conversion
functions (mbrlen, mbrtowc, wcrtomb, mbsrtowcs, wcsrtombs)
to convert between multibyte-character and wide-character
format. Only restartable conversion functions use an
mbstate_t parameter, such as ps. Therefore, results are
undefined when restartable and nonrestartable conversion
functions operate on the same arrays of characters during
a conversion operation. Results are also undefined when ps
is first altered by any of the restartable conversion
functions and then used by another call in any of the following
ways: With a different sequence of characters In
the reverse conversion direction Under a different
LC_CTYPE setting than on earlier function calls
[Tru64 UNIX] The mbsinit() function and restartable versions
of conversion routines are functional only when used
with locales that support shift state encoding. Currently,
the operating system does not provide any locales that use
shift state encoding and the mbsinit() function returns a
nonzero value only to indicate that *ps is a null pointer.
The mbsinit() function returns a nonzero value if *ps is a
null pointer or ps describes an initial conversion state;
otherwise, the function returns zero.
Functions: mblen(3), mbstowcs(3), mbtowc(3), wcstombs(3),
wctomb(3)
Files: locale(4)
mbsinit(3)
[ Back ] |