[Previous]
[Contents]
[Next]

mblen()

determine the number of bytes comprising a multibyte character

Synopsis:

#include <stdlib.h>
    or
#include <mbstring.h>

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

Description:

The mblen() function determines the number of bytes comprising the multibyte character pointed to by s. At most n bytes of the array pointed to by s will be examined.

Returns:

If s is a NULL pointer, mblen() returns zero if multibyte character encodings aren't state-dependent, and nonzero otherwise. If s isn't a NULL pointer, mblen() returns:

Examples:

#include <stdio.h>
#include <stdlib.h>

void main()
  {
    int     len;
    char    *mbs = "string";

    printf( "Character encodings do %shave "
        "state-dependent \nencoding.\n",
        ( mblen( NULL, 0 ) )
        ? "" : "not " );

    len = mblen( "string", 6 );
    if( len != -1 ) {
      mbs[len] = '\0';
      printf( "Multibyte char %s(%d)\n", mbs, len );
    }
  }

produces the output:

Character encodings do not have state-dependent 
encoding.
Multibyte char s(1)

Classification:

ANSI

Safety:
Interrupt handler Yes
Signal handler Yes
Thread Yes

See also:

mbtowc(), mbstowcs(), wctomb(), wcstombs()


[Previous]
[Contents]
[Next]