Provided by: manpages-posix-dev_2.16-1_all bug

NAME

       mbstowcs - convert a character string to a wide-character string

SYNOPSIS

       #include <stdlib.h>

       size_t mbstowcs(wchar_t *restrict pwcs, const char *restrict s,
              size_t n);

DESCRIPTION

       The  mbstowcs() function shall convert a sequence of characters that begins in the initial
       shift state from the array pointed to by s into a sequence of corresponding wide-character
       codes  and  shall  store not more than n wide-character codes into the array pointed to by
       pwcs. No characters that follow a null byte (which is converted into a wide-character code
       with value 0) shall be examined or converted. Each character shall be converted as if by a
       call to mbtowc(), except that the shift state of mbtowc() is not affected.

       No more than n elements shall be modified in the array pointed  to  by  pwcs.  If  copying
       takes place between objects that overlap, the behavior is undefined.

       The  behavior  of  this function shall be affected by the LC_CTYPE category of the current
       locale.    If pwcs is a null pointer, mbstowcs()  shall  return  the  length  required  to
       convert the entire array regardless of the value of n, but no values are stored.

RETURN VALUE

       If  an invalid character is encountered, mbstowcs() shall return (size_t)-1    and may set
       errno to indicate the error.

       Otherwise, mbstowcs() shall return the  number  of  the  array  elements  modified     (or
       required  if  pwcs  is null),  not including a terminating 0 code, if any. The array shall
       not be zero-terminated if the value returned is n.

ERRORS

       The mbstowcs() function may fail if:

       EILSEQ Invalid byte sequence is detected.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       None.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       mblen()  ,  mbtowc()  ,  wctomb()  ,  wcstombs()  ,  the  Base   Definitions   volume   of
       IEEE Std 1003.1-2001, <stdlib.h>

COPYRIGHT

       Portions  of  this  text  are  reprinted  and  reproduced in electronic form from IEEE Std
       1003.1, 2003 Edition, Standard for Information Technology  --  Portable  Operating  System
       Interface  (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by
       the Institute of Electrical and Electronics Engineers, Inc and  The  Open  Group.  In  the
       event  of  any  discrepancy  between this version and the original IEEE and The Open Group
       Standard, the original IEEE and The Open Group  Standard  is  the  referee  document.  The
       original Standard can be obtained online at http://www.opengroup.org/unix/online.html .