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 character 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 represents the null wide character, or returns the number of bytes pro-
cessed in s, or returns -1 if no multibyte character could be recognized or converted. 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