Man Linux: Main Page and Category List

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 .