- convert a wide-character code to a character
#include <stdlib.h> int wctomb(char *s, wchar_t wchar);
The wctomb() function determines the number of bytes needed to represent the character corresponding to the wide-character code whose value is wchar. It stores the character representation (possibly multiple bytes) in the array object pointed to by s (if s is not a null pointer). At most MB_CUR_MAX bytes are stored.
A call with s as a null pointer causes this function to return 0. The behavior of this function is affected by the LC_CTYPE category of the current locale.
If s is a null pointer, wctomb() returns 0 value. If s is not a null pointer, wctomb() returns -1 if the value of wchar does not correspond to a valid character, or returns the number of bytes that constitute the character corresponding to the value of wchar.
In no case will the value returned be greater than the value of the MB_CUR_MAX macro.
No errors are defined.
The wctomb() function can be used safely in a multithreaded application, as long as setlocale(3C) is not being called to change the locale.
See attributes(5) for descriptions of the following attributes: