MBLEN(3C) Standard C Library Functions MBLEN(3C)
NAME
mblen, mblen_l - get number of bytes in a character
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
If
s is not a null pointer,
mblen() and
mblen_l() determine the
number of bytes constituting the character pointed to by
s. The call
mblen(
s,
n);
is equivalent to:
mbtowc((
wchar_t *)0,
s,
n);
A call with
s as a null pointer causes this function to return
0.
Whereas the behavior of the
mblen() function is affected by the
LC_CTYPE category of the current locale, the behavior of
mblen_l() is
affected by the
LC_CTYPE category of the locale specified by
loc.
RETURN VALUES
If
s is a null pointer,
mblen() and
mblen_l() returns
0. It
s is not
a null pointer,
mblen() and
mblen_l() returns
0 (if
s points to the
null byte), the number of bytes that constitute the character (if the
next
n or fewer bytes form a valid character), or
-1 (if they do not
form a valid character) and may set
errno to indicate the error. In
no case will the value returned be greater than
n or the value of the
MB_CUR_MAX macro.
ERRORS
The
mblen() and
mblen_l() functions may fail if:
EILSEQ Invalid character sequence is detected.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|CSI | Enabled |
+--------------------+-----------------+
|Interface Stability | See below. |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+
The
mblen() function is Standard. The
mblen_l() function is
Uncommitted.
SEE ALSO
mbstowcs(3C),
mbtowc(3C),
newlocale(3C),
setlocale(3C),
wcstombs(3C),
wctomb(3C),
uselocale(3C) attributes(7),
standards(7) June 24, 2014 MBLEN(3C)