Home
Main website
Display Sidebar
Hide Ads
Recent Changes
View Source:
mbsnrtowcs(3)
Edit
PageHistory
Diff
Info
LikePages
MBSNRTOWCS !!!MBSNRTOWCS NAME SYNOPSIS DESCRIPTION RETURN VALUE CONFORMING TO SEE ALSO NOTES ---- !!NAME mbsnrtowcs - convert a multibyte string to a wide character string !!SYNOPSIS __#include __''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'0' wide characters have been stored at ''dest''. In this case ''*src'' is left pointing to the next multibyte sequence to be converted, and the number of wide characters written to ''dest'' is returned. 3. The multibyte string has been completely converted, including the terminating '0' (which has the side effect of bringing back ''*ps'' to the initial state). In this case ''*src'' is set to NULL, and the number of wide characters written to ''dest'', excluding the terminating L'0' character, is returned. If ''dest'' is NULL, ''len'' is ignored, and the conversion proceeds as above, except that the converted wide characters are not written out to memory, and that no destination length limit exists. In both of the above cases, if ''ps'' is a NULL pointer, a static anonymous state only known to the mbsnrtowcs function is used instead. The programmer must ensure that there is room for at least ''len'' wide characters at ''dest''. !!RETURN VALUE The __mbsnrtowcs__ function returns the number of wide characters that make up the converted part of the wide character string, not including the terminating null wide character. If an invalid multibyte sequence was encountered, (size_t)(-1) is returned, and __errno__ set to __EILSEQ__. !!CONFORMING TO This function is a GNU extension. !!SEE ALSO mbsrtowcs(3), iconv(3) !!NOTES The behaviour of __mbsnrtowcs__ depends on the LC_CTYPE category of the current locale. Passing NULL as ''ps'' is not multi-thread safe. ----
2 pages link to
mbsnrtowcs(3)
:
Man3m
mbsrtowcs(3)
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.