mbsnrtowcs (3) Linux Manual Page
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);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
mbsnrtowcs():
-
- Since glibc 2.10:
- _POSIX_C_SOURCE >= 200809L
- Before glibc 2.10:
- _GNU_SOURCE
DESCRIPTION
The mbsnrtowcs() function is like the mbsrtowcs(3) function, except that the number of bytes to be converted, starting at *src, is limited to at most nms bytes.
If dest is not NULL, 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’
