*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Linux man pages -> mbsinit (3)              



NAME    [Toc]    [Back]

       mbsinit - test for initial shift state

SYNOPSIS    [Toc]    [Back]

       #include <wchar.h>

       int mbsinit (const mbstate_t *ps);

DESCRIPTION    [Toc]    [Back]

       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 wcsr-
       tombs,  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;
       On Linux, the following works as  well,	but  might  generate  compiler
	 mbstate_t state = { 0 };

       The function mbsinit tests whether *ps corresponds to an initial state.

RETURN VALUE    [Toc]    [Back]

       mbsinit returns non-zero if *ps is an initial state, or if ps is a null
       pointer. Otherwise it returns 0.

CONFORMING TO    [Toc]    [Back]

       ISO/ANSI C, UNIX98

SEE ALSO    [Toc]    [Back]

       mbsrtowcs(3), wcsrtombs(3)

NOTES    [Toc]    [Back]

       The  behaviour  of mbsinit depends on the LC_CTYPE category of the current

GNU				  2000-11-20			    MBSINIT(3)
[ Back ]
 Similar pages
Name OS Title
mbsinit NetBSD determines whether the state object is initial state
mbsinit Tru64 Determine whether a multibyte-character string is in the initial conversion state
shiftr IRIX Performs a right shift with zero fill
shifta IRIX Performs an arithmetic shift
eoshift IRIX Performs an end-off shift on an array expression
dshiftr IRIX Performs a double-object right shift
shiftl IRIX Performs a left shift with zero fill
shift IRIX Performs a left circular shift
dshiftl IRIX Performs a double-object left shift
mskanji FreeBSD Shift-JIS (MS Kanji) encoding for Japanese text
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service