wctomb - convert a wide character to a multibyte sequence


SYNOPSIS

       #include <stdlib.h>

       int wctomb (char *s, wchar_t wc);


DESCRIPTION

       If  s  is  not NULL, the wctomb function converts the wide
       character wc to its multibyte representation and stores it
       at  the  beginning of the character array pointed to by s.
       It updates the shift state, which is stored  in  a  static
       anonymous  variable only known to the wctomb function, and
       returns the length of said multibyte representation,  i.e.
       the number of bytes written at s.

       The programmer must ensure that there is room for at least
       MB_CUR_MAX bytes at s.

       If s is NULL, the wctomb function resets the shift  state,
       only  known  to  this  function, to the initial state, and
       returns non-zero if the  encoding  has  non-trivial  shift
       state, or zero if the encoding is stateless.


RETURN VALUE

       If  s  is not NULL, the wctomb function returns the number
       of bytes that have been written to the byte array at s. If
       wc can not be represented as a multibyte sequence (accord­
       ing to the current locale), -1 is returned.

       If s is NULL, the wctomb function returns non-zero if  the
       encoding  has  non-trivial  shift  state,  or  zero if the
       encoding is stateless.


CONFORMING TO

       ISO/ANSI C, UNIX98


SEE ALSO

       wcrtomb(3), wcstombs(3), MB_CUR_MAX(3)


NOTES

       The behaviour of wctomb depends on the  LC_CTYPE  category
       of the current locale.

       This  function is not multi-thread safe. The function wcr­
       tomb provides a better interface to the  same  functional­
       ity.


Man(1) output converted with man2html