NAME
wctomb
, wctomb_l
— convert a wide-character code
to a character
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include
<stdlib.h>
int
wctomb
(char *s,
wchar_t wchar);
#include
<stdlib.h>
#include <xlocale.h>
int
wctomb_l
(char *s,
wchar_t wchar, locale_t
loc);
DESCRIPTION
The
wctomb
()
function converts a wide character, wchar, into a
multibyte character and stores the result in s. The
object pointed to by s must be large enough to
accommodate the multibyte character, which may be up to
MB_LEN_MAX
bytes.
A call with a null s pointer returns nonzero if the current locale requires shift states, zero otherwise; if shift states are required, the shift state is reset to the initial state.
Although the
wctomb
()
function uses the current locale, the
wctomb_l
()
function may be passed a locale directly. See
xlocale(3) for more information.
RETURN VALUES
If s is NULL
, the
wctomb
() function returns nonzero if shift states
are supported, zero otherwise. If s is valid,
wctomb
() returns the number of bytes processed in
s, or -1 if no multibyte character could be recognized
or converted. In this case, wctomb
()'s internal
conversion state is undefined.
ERRORS
The wctomb
() function will fail if:
- [
EILSEQ
] - An invalid multibyte sequence was detected.
- [
EINVAL
] - The internal conversion state is invalid.
SEE ALSO
STANDARDS
The wctomb
() function conforms to
ISO/IEC 9899:1999
(“ISO C99”).