mblen  - determine number of bytes in next multibyte char­
       acter


SYNOPSIS

       #include <stdlib.h>

       int mblen (const char *s, size_t n);


DESCRIPTION

       If s is not a NULL pointer, the mblen function inspects at
       most  n  bytes  of  the multibyte string starting at s and
       extracts the next complete multibyte character. It uses  a
       static anonymous shift state only known to the mblen func­
       tion. If the multibyte character  is  not  the  null  wide
       character,  it  returns the number of bytes that were con­
       sumed from s. If the multibyte character is the null  wide
       character, it returns 0.

       If  the  n  bytes  starting at s do not contain a complete
       multibyte character, mblen returns  -1.  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,
       mblen also returns -1.

       If s is a NULL pointer,  the  mblen  function  resets  the
       shift  state,  only known to this function, to the initial
       state, and returns non-zero if the encoding has  non-triv­
       ial shift state, or zero if the encoding is stateless.


RETURN VALUE

       The mblen function returns the number of bytes parsed from
       the multibyte sequence starting at s, if a  non-null  wide
       character  was  recognized.   It returns 0, if a null wide
       character was recognized. It returns  -1,  if  an  invalid
       multibyte sequence was encountered or if it couldn't parse
       a complete multibyte character.


CONFORMING TO

       ISO/ANSI C, UNIX98


SEE ALSO

       mbrlen(3)


NOTES

       The behaviour of mblen depends on the LC_CTYPE category of
       the current locale.

       The  function  mbrlen  provides  a better interface to the
       same functionality.


Man(1) output converted with man2html