WCSNRTOMBS(3) Linux Programmer's Manual WCSNRTOMBS(3)
NAME
wcsnrtombs - convert a wide-character string to a multibyte string
SYNOPSIS
#include <wchar.h>
size_t wcsnrtombs(char *dest, const wchar_t **src, size_t nwc,
size_t len, mbstate_t *ps);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
wcsnrtombs():
Since glibc 2.10:
_XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L
Before glibc 2.10:
_GNU_SOURCE
DESCRIPTION
The wcsnrtombs() function is like the wcsrtombs(3) function, except that the number of wide characters to be converted, starting at *src,
is limited to nwc.
If dest is not a NULL pointer, the wcsnrtombs() function converts at most nwc wide characters from 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. nwc wide characters have been converted without encountering a null wide character (L'