int
wctomb(
char * s
, const wchar_t wchar
)
)
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
category 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:
)
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.
)
returns:
s
.
There are no cases that the value returned is greater than
n
or the value of the
MB_CUR_MAX
macro.
wchar
is an invalid wide character.
If
s
is equal to
NULL
,
mbtowc()
returns:
)
function conforms to
ANSI X3.159-1989 (``ANSI C89'') .