Go to main content

man pages section 3: Basic Library Functions

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

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.

Attributes

See attributes(7) for descriptions of the following attributes:

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

See Also

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