Man Linux: Main Page and Category List

NAME

       wcstombs - convert a wide-character string to a character string

SYNOPSIS

       #include <stdlib.h>

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

DESCRIPTION

       The  wcstombs()  function  shall convert the sequence of wide-character
       codes that are in the array pointed to  by  pwcs  into  a  sequence  of
       characters  that  begins  in  the  initial  shift state and store these
       characters into the array pointed to by  s,  stopping  if  a  character
       would  exceed  the  limit of n total bytes or if a null byte is stored.
       Each wide-character code  shall  be  converted  as  if  by  a  call  to
       wctomb(),  except  that  the  shift  state  of  wctomb()  shall  not be
       affected.

       The behavior of  this  function  shall  be  affected  by  the  LC_CTYPE
       category of the current locale.

       No more than n bytes shall be modified in the array pointed to by s. If
       copying takes place between  objects  that  overlap,  the  behavior  is
       undefined.     If  s  is  a  null  pointer, wcstombs() shall return the
       length required to convert the entire array regardless of the value  of
       n, but no values are stored.

       The  wcstombs()  function need not be reentrant. A function that is not
       required to be reentrant is not required to be thread-safe.

RETURN VALUE

       If a wide-character code is encountered that does not correspond  to  a
       valid  character  (of  one or more bytes each), wcstombs() shall return
       (size_t)-1. Otherwise, wcstombs() shall  return  the  number  of  bytes
       stored in the character array, not including any terminating null byte.
       The array shall not be null-terminated if the value returned is n.

ERRORS

       The wcstombs() function may fail if:

       EILSEQ A wide-character code does not correspond to a valid  character.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       None.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       mblen()  ,  mbtowc()  ,  mbstowcs()  ,  wctomb() , 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 .