WCSRTOMBS(3) Linux Programmer's Manual WCSRTOMBS(3)
wcsrtombs - convert a wide character string to a multibyte string
size_t wcsrtombs(char *dest, const wchar_t **src,
size_t len, mbstate_t *ps);
If dest is not a NULL pointer, the wcsrtombs function converts the wide-character string *src to a multibyte string starting at dest. At
most len bytes are written to dest. The shift state *ps is updated. The conversion is effectively performed by repeatedly calling wcr-
tomb(dest,*src,ps), as long as this call succeeds, and then incrementing dest by the number of bytes written and *src by one. The conver-
sion can stop for three reasons:
1. A wide character has been encountered that can not be represented as a multibyte sequence (according to the current locale). In this
case *src is left pointing to the invalid wide character, (size_t)(-1) is returned, and errno is set to EILSEQ.
2. The length limit forces a stop. In this case *src is left pointing to the next wide character to be converted, and the number of bytes
written to dest is returned.
3. The wide-character string has been completely converted, including the terminating L'