wcstombs

WCSTOMBS(3)                Linux Programmer's Manual               WCSTOMBS(3)

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

SYNOPSIS
       #include <stdlib.h>

       size_t wcstombs(char *dest, const wchar_t *src, size_t n);

DESCRIPTION
       If  dest is not NULL, the wcstombs() function converts the wide-charac-
       ter string src to a multibyte string starting at dest.  At most n bytes
       are  written to dest.  The conversion starts in the initial state.  The
       conversion can stop for three reasons:

       1. A wide character has been encountered that can not be represented as
       a  multibyte sequence (according to the current locale).  In this case,
       (size_t) -1 is returned.

       2. The length limit forces a stop.  In this case, the number  of  bytes
       written to dest is returned, but the shift state at this point is lost.

       3.  The  wide-character string has been completely converted, including
       the terminating null wide character (L'\0').  In this case, the conver-
       sion  ends  in the initial state.  The number of bytes written to dest,
       excluding the terminating null byte ('\0'), is returned.

       The programmer must ensure that there is room for at least n  bytes  at
       dest.

       If  dest  is  NULL, n is ignored, and the conversion proceeds as above,
       except that the converted bytes are not written out to memory,  and  no
       length limit exists.

       In  order  to avoid the case 2 above, the programmer should make sure n
       is greater than or equal to wcstombs(NULL,src,0)+1.

RETURN VALUE
       The wcstombs() function returns the number of bytes that  make  up  the
       converted  part  of a multibyte sequence, not including the terminating
       null byte.  If a wide character was encountered which could not be con-
       verted, (size_t) -1 is returned.

ATTRIBUTES
       For   an   explanation   of   the  terms  used  in  this  section,  see
       attributes(7).

       +-----------+---------------+---------+
       |Interface  | Attribute     | Value   |
       +-----------+---------------+---------+
       |wcstombs() | Thread safety | MT-Safe |
       +-----------+---------------+---------+

CONFORMING TO
       POSIX.1-2001, POSIX.1-2008, C99.

NOTES
       The behavior of wcstombs() depends on the LC_CTYPE category of the cur-
       rent locale.

       The  function wcsrtombs(3) provides a thread safe interface to the same
       functionality.

SEE ALSO
       mblen(3), mbtowc(3), mbstowcs(3), wcsrtombs(3) wctom(3)

COLOPHON
       This page is part of release 4.04 of the Linux  man-pages  project.   A
       description  of  the project, information about reporting bugs, and the
       latest    version    of    this    page,    can     be     found     at
       http://www.kernel.org/doc/man-pages/.

GNU                               2015-08-08                       WCSTOMBS(3)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2021 Hurricane Electric. All Rights Reserved.