WCRTOMB(3)

NAME
wcrtomb - convert a wide-character code to a character (restartable)

LIBRARY
libc

SYNOPSIS
#include <wchar.h>
size_t
wcrtomb(char * restrict s, wchar_t wc, mbstate_t * restrict ps);

DESCRIPTION
The wcrtomb() function stores a multibyte sequence representing the wide character wc, including any necessary shift sequences, to the character array s, storing a maximum of MB_CUR_MAX bytes.

If s is NULL, wcrtomb() behaves as if s pointed to an internal buffer and wc was a null wide character (L'\0').

The mbstate_t argument, ps, is used to keep track of the shift state. If it is NULL, wcrtomb() uses an internal, static mbstate_t object, which is initialized to the initial conversion state at program startup.

RETURN VALUES
The wcrtomb() functions returns the length (in bytes) of the multibyte sequence needed to represent wc, or (size_t)-1 if wc is not a valid wide character code.

ERRORS
The wcrtomb() function will fail if:

[EILSEQ]
    An invalid wide character code was specified.

[EINVAL]
    The conversion state is invalid.

SEE ALSO
mbrtowc(3), multibyte(3), setlocale(3), wctomb(3)

STANDARDS
The wcrtomb() function conforms to isoC-99.