MBSNRTOWCS(3) Linux Programmer's Manual MBSNRTOWCS(3)
NAME
mbsnrtowcs - convert a multibyte string to a wide character string
SYNOPSIS
#include <wchar.h>
size_t mbsnrtowcs(wchar_t *dest, const char **src,
size_t nms, size_t len, mbstate_t *ps);
DESCRIPTION
The mbsnrtowcs function is like the mbsrtowcs function, except that the number of bytes to be converted, starting at *src, is limited to
nms.
If dest is not a NULL pointer, the mbsnrtowcs function converts at most nms bytes from the multibyte string *src to a wide-character string
starting at dest. At most len wide characters are written to dest. The shift state *ps is updated. The conversion is effectively performed
by repeatedly calling mbrtowc(dest,*src,n,ps) where n is some positive number, as long as this call succeeds, and then incrementing dest by
one and *src by the number of bytes consumed. The conversion can stop for three reasons:
1. An invalid multibyte sequence has been encountered. In this case *src is left pointing to the invalid multibyte sequence, (size_t)(-1)
is returned, and errno is set to EILSEQ.
2. The nms limit forces a stop, or len non-L'