wcstombs#
Synopsis#
#include <stdlib.h>
size_t wcstombs(char *str, const wchar_t *pwcs, size_t n);
Status#
Declared, not implemented
Conformance#
IEEE Std 1003.1-2017
Description#
wcstombs() - convert a wide-character string to a character string
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.
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 shall fail if:
EILSEQ- a wide-character code does not correspond to a valid character.
Tests#
Untested
Known bugs#
None