man pages section 3: Basic Library Functions

Exit Print View

Updated: July 2014
 
 

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 attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
CSI
Enabled
Interface Stability
Standard
MT-Level
MT-Safe with exceptions

See also

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