WCTOMB(3) BSD 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 (' '), 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-depen-
dent. 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'').
BSD
February 3, 2002 BSD