wcsrtombs (3) Linux Manual Page
wcsrtombs – convert a wide-character string to a multibyte string
Synopsis
#include <wchar.h>
size_t wcsrtombs(char *dest, const wchar_t **src,
size_t len, mbstate_t *ps);
Description
If dest is not NULL, 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 wcrtomb(dest, *src, ps), as long as this call succeeds, and then incrementing dest by the number of bytes written and *src by one. The conversion 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 null wide character (L’
