WCTOMB(3)               NetBSD Library Functions Manual              WCTOMB(3)

NAME
     wctomb -- converts a wide character to a multibyte character

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <stdlib.h>

     int
     wctomb(char * s, const wchar_t wchar);

DESCRIPTION
     The wctomb() converts the wide character wchar to the corresponding
     multibyte character, and stores it in the array pointed to by s.
     wctomb() may store at most MB_CUR_MAX bytes in the array.

     In state-dependent encoding, wctomb() may store the special sequence to
     change the conversion state before an actual multibyte character into the
     array pointed to by s.  If wchar is a nul wide character (`\0'), this
     function sets its own internal state to an initial conversion state.

     Calling any other functions in Standard C Library (libc, -lc) never
     changes the internal state of wctomb(), except changing the LC_CTYPE cat-
     egory of the current locale by calling setlocale(3).  Such setlocale(3)
     calls cause the internal state of this function to be indeterminate.

     The behaviour of wctomb() is affected by the LC_CTYPE category of the
     current locale.

     There is one special case:

     s == NULL     wctomb() initializes its own internal state to an initial
                   state, and determines whether the current encoding is
                   state-dependent.  This function returns 0 if the encoding
                   is state-independent, otherwise non-zero.  In this case,
                   wchar is completely ignored.

RETURN VALUES
     Normally, wctomb() returns:

     positive      Number of bytes for the valid multibyte character pointed
                   to by s.  There are no cases that the value returned is
                   greater than n or the value of the MB_CUR_MAX macro.

     -1            wchar is an invalid wide character.

     If s is equal to NULL, mbtowc() returns:

     0           The current encoding is state-independent.

     non-zero    The current encoding is state-dependent.

ERRORS
     No errors are defined.

SEE ALSO
     setlocale(3)

STANDARDS
     The wctomb() function conforms to ANSI X3.159-1989 (``ANSI C89'').

NetBSD 5.0_STABLE              February 3, 2002              NetBSD 5.0_STABLE
