mblen(3C)




NAME

     mblen - get number of bytes in a character


SYNOPSIS

     #include <stdlib.h>

     int mblen(const char *s, size_t n);


DESCRIPTION

     If s is not a null pointer, mblen() determines the number of
     bytes  constituting  the  character  pointed  to by s. It is
     equivalent to:

          mbtowc((wchar_t *)0, s, n);

     A call with s as a null  pointer  causes  this  function  to
     return  0.  The behavior of this function is affected by the
     LC_CTYPE category of the current locale.


RETURN VALUES

     If s is a null pointer, mblen() returns 0. It  s  is  not  a
     null  pointer,  mblen()  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() function may fail if:

     EILSEQ
           Invalid character sequence is detected.


USAGE

     The mblen() function can be  used  safely  in  multithreaded
     applications,  as  long as setlocale(3C) is not being called
     to change the locale.


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    | MT-Level                    | MT-Safe with exceptions     |
    | CSI                         | Enabled                     |
    |_____________________________|_____________________________|


SEE ALSO

     mbstowcs(3C),   mbtowc(3C),   setlocale(3C),   wcstombs(3C),
     wctomb(3C), attributes(5)


Man(1) output converted with man2html