text: WCSTOMBS(3) BSD Programmer's Manual WCSTOMBS(3)
  wcstombs - converts a wide character string to a multibyte character
  #include <stdlib.h> size_t wcstombs(char *s, const wchar_t *pwcs, size_t n);
  wcstombs() converts the null the wcstombs() is affected by the LC_CTYPE category of the current locale. There are special cases: s == NULL The wcstombs() returns the number of bytes to store the whole multibyte character string corresponding to the wide character string pointed to by pwcs. In this case, n is ig- nored. pwcs == NULL Undefined (may causes the program to crash).
  wcstombs() returns: 0 or positive Number of bytes stored in the array pointed to by s. There are no cases that the value returned is greater than n (un- less s is a null pointer). If the return value is equal to n, the string pointed to by s will not be null-terminated. (size_t)-1 pwcs points the string containing invalid wide character. wcstombs() also sets errno to indicate the error.
  wcstombs() may cause an error in the following cases: [EILSEQ] pwcs Points to the string containing invalid wide charac- ter.
  setlocale(3), wctomb(3)
  The wcstombs() function conforms to ANSI X3.159-1989 ("ANSI C"). MirOS BSD #10-current February.