WCSTOMBS(3)

NAME
wcstombs, wcstombs_l - convert a wide-character string to a character string

LIBRARY
libc

SYNOPSIS
#include <stdlib.h>
size_t
wcstombs(char * restrict mbstring, const wchar_t * restrict wcstring, size_t nbytes);
#include <xlocale.h>
size_t
wcstombs_l(char * restrict mbstring, const wchar_t * restrict wcstring, size_t nbytes, locale_t locale);

DESCRIPTION
The wcstombs() and wcstombs_l() functions convert a wide character string wcstring into a multibyte character string, mbstring, beginning in the initial conversion state. Up to nbytes bytes are stored in mbstring. Partial multibyte characters at the end of the string are not stored. The multibyte character string is null terminated if there is room.

The wcstombs_l() function takes an explicit locale argument, whereas the wcstombs() function uses the current global or per-thread locale.

RETURN VALUES
The wcstombs() and wcstombs_l() functions return the number of bytes converted (not including any terminating null), if successful, otherwise they return (size_t)-1.

ERRORS
The wcstombs() and wcstombs_l() functions will fail if:

[EILSEQ]
    An invalid wide character was encountered.

[EINVAL]
    The conversion state is invalid.

SEE ALSO
mbstowcs(3), multibyte(3), wcsrtombs(3), wctomb(3), xlocale(3)

STANDARDS
The wcstombs() function conforms to isoC-99.