manpagez: man pages & more
man mblen(3)
Home | html | info | man
mblen(3)                 BSD Library Functions Manual                 mblen(3)


NAME

     mblen, mblen_l -- get number of bytes in a character


LIBRARY

     Standard C Library (libc, -lc)


SYNOPSIS

     #include <stdlib.h>

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

     #include <stdlib.h>
     #include <xlocale.h>

     int
     mblen_l(const char *s, size_t n, locale_t loc);


DESCRIPTION

     The mblen() function computes the length, in bytes, of a multibyte char-
     acter s, according to the current conversion state.  Up to n bytes are
     examined.

     A call with a null s pointer returns nonzero if the current locale
     requires shift states, zero otherwise.  If shift states are required, the
     shift state is reset to the initial state.

     Although the mblen() function uses the current locale, the mblen_l()
     function may be passed a locale directly. See xlocale(3) for more infor-
     mation.


RETURN VALUES

     If s is NULL, the mblen() function returns nonzero if shift states are
     supported, zero otherwise.

     Otherwise, if s is not a null pointer, mblen() either returns 0 if s rep-
     resents the null wide character, or returns the number of bytes processed
     in s, or returns -1 if no multibyte character could be recognized or con-
     verted.  In this case, mblen()'s internal conversion state is undefined.


ERRORS

     The mblen() function will fail if:

     [EILSEQ]           An invalid multibyte sequence was detected.

     [EINVAL]           The internal conversion state is not valid.


SEE ALSO

     mbrlen(3), mbtowc(3), multibyte(3), xlocale(3)


STANDARDS

     The mblen() function conforms to ISO/IEC 9899:1999 (``ISO C99'').

BSD                             April 11, 2004                             BSD

Mac OS X 10.8 - Generated Wed Aug 29 06:00:54 CDT 2012
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.