mbrtowc, mbrtoc16, mbrtoc32(3) | convert a character to a wide-character code (restartable) |
mbrtoc16, mbrtowc, mbrtoc32(3) | convert a character to a wide-character code (restartable) |
mbrtoc32, mbrtowc, mbrtoc16(3) | convert a character to a wide-character code (restartable) |
MBRTOWC(3) | MidnightBSD Library Functions Manual | MBRTOWC(3) |
mbrtowc
, mbrtoc16
,
mbrtoc32
— convert a
character to a wide-character code (restartable)
Standard C Library (libc, -lc)
#include
<wchar.h>
size_t
mbrtowc
(wchar_t * restrict pc,
const char * restrict s, size_t
n, mbstate_t * restrict ps);
#include
<uchar.h>
size_t
mbrtoc16
(char16_t * restrict pc,
const char * restrict s, size_t
n, mbstate_t * restrict ps);
size_t
mbrtoc32
(char32_t * restrict pc,
const char * restrict s, size_t
n, mbstate_t * restrict ps);
The
mbrtowc
(),
mbrtoc16
() and
mbrtoc32
()
functions inspect at most n bytes pointed to by
s to determine the number of bytes needed to complete
the next multibyte character. If a character can be completed, and
pc is not NULL
, the wide
character which is represented by s is stored in the
wchar_t, char16_t or
char32_t it points to.
If s is NULL
, these
functions behave as if pc was
NULL
, s was an empty string
("") and n was 1.
The mbstate_t argument,
ps, is used to keep track of the shift state. If it is
NULL
, these functions use an internal, static
mbstate_t object, which is initialized to the initial
conversion state at program startup.
As a single char16_t is not
large enough to represent certain multibyte characters, the
mbrtoc16
()
function may need to be invoked multiple times to convert a single multibyte
character sequence.
The mbrtowc
(),
mbrtoc16
() and mbrtoc32
()
functions return:
L'\0'
).The mbrtoc16
() function also returns:
The mbrtowc
(),
mbrtoc16
() and mbrtoc32
()
functions will fail if:
The mbrtowc
(),
mbrtoc16
() and mbrtoc32
()
functions conform to ISO/IEC 9899:2011
(“ISO C11”).
May 21, 2013 | midnightbsd-3.1 |