Man Linux: Main Page and Category List

NAME

       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, that
       is, 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  nonzero  if  the
       encoding  has  nontrivial  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 (according to the current  locale),
       -1 is returned.

       If s is NULL, the wctomb() function returns nonzero if the encoding has
       nontrivial shift state, or zero if the encoding is stateless.

CONFORMING TO

       C99.

NOTES

       The behavior of wctomb()  depends  on  the  LC_CTYPE  category  of  the
       current locale.

       This  function  is  not  multithread  safe.   The  function  wcrtomb(3)
       provides a better interface to the same functionality.

SEE ALSO

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

COLOPHON

       This page is part of release 3.24 of the Linux  man-pages  project.   A
       description  of  the project, and information about reporting bugs, can
       be found at http://www.kernel.org/doc/man-pages/.