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 cur-rent current
rent 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 other-wise. otherwise.
wise. 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 information.
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 charac-ter, character,
ter, or returns the number of bytes processed 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
|