MBLEN(3) | 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 *s,
size_t n);
#include
<stdlib.h>
#include <xlocale.h>
int
mblen_l
(const char *s,
size_t n, locale_t loc);
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 information.
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 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.
The mblen
() function will fail if:
The mblen
() function conforms to
ISO/IEC 9899:1999
(“ISO C99”).
April 11, 2004 | macOS 14.6 |