Quick ?s
Cheat Sheets
Man Pages
The Lynx
Software
MBRLEN(3)		   Linux Programmers Manual		    MBRLEN(3)



NAME
       mbrlen - determine number of bytes in next multibyte character

SYNOPSIS
       #include 

       size_t mbrlen(const char *s, size_t n, mbstate_t *ps);

DESCRIPTION
       The  mbrlen() function inspects at most n bytes of the multibyte string
       starting at s and extracts the next complete multibyte  character.   It
       updates	the  shift  state  *ps.  If the multibyte character is not the
       null wide character, it returns the number of bytes that were  consumed
       from  s.   If  the  multibyte  character is the null wide character, it
       resets the shift state *ps to the initial state and returns 0.

       If the n bytes starting at s do not contain a complete multibyte  char
       acter,  mbrlen()  returns  (size_t) -2.	 This  can happen even if n >=
       MB_CUR_MAX, if the multibyte string contains redundant shift sequences.

       If  the	multibyte  string  starting at s contains an invalid multibyte
       sequence  before  the  next  complete   character,   mbrlen()   returns
       (size_t) -1 and sets errno to EILSEQ.  In this case, the effects on *ps
       are undefined.

       If ps is a NULL pointer, a static anonymous state  only	known  to  the
       mbrlen() function is used instead.

RETURN VALUE
       The  mbrlen()  function	returns  the  number  of bytes parsed from the
       multibyte sequence starting at s, if a non-null wide character was rec
       ognized.   It  returns  0, if a null wide character was recognized.  It
       returns (size_t) -1 and sets errno to EILSEQ, if an  invalid  multibyte
       sequence  was encountered.  It returns (size_t) -2 if it couldnt parse
       a complete multibyte character, meaning that n should be increased.

CONFORMING TO
       C99.

NOTES
       The behavior of mbrlen() depends on the LC_CTYPE category of  the  cur
       rent locale.

SEE ALSO
       mbrtowc(3)

COLOPHON
       This  page  is  part of release 3.05 of the Linux man-pages project.  A
       description of the project, and information about reporting  bugs,  can
       be found at http://www.kernel.org/doc/man-pages/.



GNU				  1999-07-25			     MBRLEN(3)




Yals.net is © 1999-2009 Crescendo Communications
Sharing tech info on the web for more than a decade!
This page was generated Thu Apr 30 17:05:27 2009