|
Standard C Library Functions | mblen(3C) |
| mblen - get number of bytes in a character |
SYNOPSIS
|
#include <stdlib.h> int mblen(const char *s, size_t n); |
|
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.
|
|
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.
|
|
The mblen() function may fail if:
-
EILSEQ
- Invalid character sequence is detected.
|
|
The mblen() function can be used safely in multithreaded applications, as long as setlocale(3C) is not being called to change the locale.
|
|
See attributes(5) for descriptions of the following
attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
MT-Level | MT-Safe with exceptions |
CSI | Enabled |
|
| |