Middleware, development tools, realtime operating system
software and services for superior embedded design


Home
QNX Community Resources
QNX Documentation Library
mblen

mblen

QNX Software Systems
Developer Resources
Blogs
Board support packages
Foundry27 projects
Forums
Hardware support listing
Online video tutorials
Product documentation
Technical Articles

mblen()

Count the bytes in a multibyte character

Synopsis:

#include <stdlib.h>

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

Arguments:

s
NULL (see below), or a pointer to a multibyte character.
n
The maximum number of bytes that you want to count.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The mblen() function counts the number of bytes in the multibyte character pointed to by s, to a maximum of n bytes.

The mbrlen() function is a restartable version of mblen().

Returns:

Examples:

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

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

    printf( "Character encodings do " );
    if( !mblen( NULL, 0 ) ) {
        printf( "not " );
    }
    printf( "have state-dependent \nencoding.\n" );

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

This produces the output:

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

Classification:

ANSI, POSIX 1003.1

Safety:
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

"Character manipulation functions" and "Wide-character functions" in the summary of functions chapter.