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)