DragonFly On-Line Manual Pages

Search: Section:  

MBLEN(3)              DragonFly Library Functions Manual              MBLEN(3)


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


Standard C Library (libc, -lc)


#include <stdlib.h> int mblen(const char *mbchar, size_t nbytes); #include <xlocale.h> int mblen_l(const char *mbchar, size_t nbytes, locale_t locale);


The mblen() and mblen_l() functions compute the length in bytes of a multibyte character mbchar according to a conversion state. Up to nbytes bytes are examined. A call with a null mbchar pointer returns nonzero if the locale requires shift states, zero otherwise; if shift states are required, the shift state is reset to the initial state. The mblen_l() function takes an explicit locale argument, whereas the mblen() function uses the current global or per-thread locale.


If mbchar is NULL, the mblen() and mblen_l() functions return nonzero if shift states are supported, zero otherwise. Otherwise, if mbchar is not a null pointer, mblen() and mblen_l() either return 0 if mbchar represents the null wide character, or return the number of bytes processed in mbchar, or return -1 if no multibyte character could be recognized or converted. In this case, mblen()'s and mblen_l()'s internal conversion states are undefined.


The mblen() and mblen_l() functions will fail if: [EILSEQ] An invalid multibyte sequence was detected. [EINVAL] The internal conversion state is not valid.


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


The mblen() function conforms to ISO/IEC 9899:1999 (``ISO C99''). DragonFly 4.3 December 26, 2013 DragonFly 4.3

Search: Section: