mblen

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
MBLEN(3)		  Linux Programmer’s Manual		     MBLEN(3)



NAME
       mblen - determine number of bytes in next multibyte character

SYNOPSIS
       #include <stdlib.h>

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

DESCRIPTION
       If  s  is  not  a  NULL pointer, the mblen function inspects at most n
       bytes of the multibyte string starting at s and extracts the next com-
       plete multibyte character. It uses a static anonymous shift state only
       known to the mblen function. If the multibyte  character	 is  not  the
       null wide character, it returns the number of bytes that were consumed
       from s. If the multibyte character is  the  null	 wide  character,  it
       returns 0.

       If the n bytes starting at s do not contain a complete multibyte char-
       acter, mblen returns -1. This can happen even if n >=  MB_CUR_MAX,  if
       the multibyte string contains redundant shift sequences.

       If  the	multibyte  string starting at s contains an invalid multibyte
       sequence before the next complete character, mblen also returns -1.

       If s is a NULL pointer, the mblen function  resets  the	shift  state,
       only  known  to	this function, to the initial state, and returns non-
       zero if the encoding has non-trivial  shift  state,  or	zero  if  the
       encoding is stateless.

RETURN VALUE
       The  mblen function returns the number of bytes parsed from the multi-
       byte sequence starting at s, if a non-null wide character  was  recog-
       nized.	It  returns  0,	 if  a null wide character was recognized. It
       returns -1, if an invalid multibyte sequence was encountered or if  it
       couldn’t parse a complete multibyte character.

CONFORMING TO
       ISO/ANSI C, UNIX98

SEE ALSO
       mbrlen(3)

NOTES
       The behaviour of mblen depends on the LC_CTYPE category of the current
       locale.

       The function mbrlen provides a better interface to the same  function-
       ality.



GNU				  1999-07-25			     MBLEN(3)