mbstowcs
convert a multibyte string to a wide-character string
- Provided by: manpages-dev (Version: 3.54-1ubuntu1)
- Source: manpages
- Report a bug
convert a multibyte string to a wide-character string
#include <stdlib.h> size_t mbstowcs(wchar_t *dest, const char *src, size_t n);
If dest is not a NULL pointer, the mbstowcs() function converts the multibyte string src to a wide-character string starting at dest. At most n wide characters are written to dest. The conversion starts in the initial state. The conversion can stop for three reasons:
The programmer must ensure that there is room for at least n wide characters at dest.
If dest is NULL, n is ignored, and the conversion proceeds as above, except that the converted wide characters are not written out to memory, and that no length limit exists.
In order to avoid the case 2 above, the programmer should make sure n is greater or equal to mbstowcs(NULL,src,0)+1.
The mbstowcs() 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.
C99.
The behavior of mbstowcs() depends on the LC_CTYPE category of the current locale.
The function mbsrtowcs(3) provides a better interface to the same functionality.
This page is part of release 3.54 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.