Query: mbrlen
OS: ultrix
Section: 3
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
MBRLEN(3) Linux Programmer's Manual MBRLEN(3)NAMEmbrlen - determine number of bytes in next multibyte characterSYNOPSIS#include <wchar.h> size_t mbrlen(const char *s, size_t n, mbstate_t *ps);DESCRIPTIONThe mbrlen() function inspects at most n bytes of the multibyte string starting at s and extracts the next complete multibyte character. It updates the shift state *ps. If the multibyte character is not the null wide character, it returns the number of bytes that were con- sumed from s. If the multibyte character is the null wide character, it resets the shift state *ps to the initial state and returns 0. If the n bytes starting at s do not contain a complete multibyte character, mbrlen() returns (size_t) -2. This can happen even if n >= MB_CUR_MAX, if the multibyte string contains redundant shift sequences. If the multibyte string starting at s contains an invalid multibyte sequence before the next complete character, mbrlen() returns (size_t) -1 and sets errno to EILSEQ. In this case, the effects on *ps are undefined. If ps is NULL, a static anonymous state known only to the mbrlen() function is used instead.RETURN VALUEThe mbrlen() function returns the number of bytes parsed from the multibyte sequence starting at s, if a non-null wide character was recog- nized. It returns 0, if a null wide character was recognized. It returns (size_t) -1 and sets errno to EILSEQ, if an invalid multibyte sequence was encountered. It returns (size_t) -2 if it couldn't parse a complete multibyte character, meaning that n should be increased.ATTRIBUTESFor an explanation of the terms used in this section, see attributes(7). +----------+---------------+---------------------------+ |Interface | Attribute | Value | +----------+---------------+---------------------------+ |mbrlen() | Thread safety | MT-Unsafe race:mbrlen/!ps | +----------+---------------+---------------------------+CONFORMING TOPOSIX.1-2001, POSIX.1-2008, C99.NOTESThe behavior of mbrlen() depends on the LC_CTYPE category of the current locale.SEE ALSOmbrtowc(3)COLOPHONThis page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/. GNU 2015-08-08 MBRLEN(3)
Related Man Pages |
---|
mbrlen(3) - linux |
mbrlen(3) - debian |
mbrlen(3) - ultrix |
mblen(3) - opendarwin |
mblen(3) - xfree86 |
Similar Topics in the Unix Linux Community |
---|
How will the behaviour of multibyte char differ because of different LC_CTYPE locale? |