Documentation Archive Developer
Search
ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



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 character
     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. information.
     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 represents
     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. converted.
     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