The wcstombs function

Name

wcstombs -- 

Synopsis

#include <stdlib.h>

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

Description

The wcstombs function converts a sequence of codes that correspond to multi-byte characters from the array pointed to by pwcs into a sequence of multi-byte characters that begins in the initial shift state and stores these multi-byte characters into the array pointed to by s, stopping if a multi-byte character would exceed the limit of n total bytes or if a null character is stored. Each code is converted as if by a call to the wctomb function, except the shift state of the wctomb function is not affected.

No more n bytes will be modified in the array pointed to by s. If copying takes place between objects that overlap, the behavior is undefined.

Returns

If a code is encountered that does not correspond to a valid multi-byte character, the wcstombs function returns (size_t) -1. Otherwise the wcstombs function returns the number of bytes modified, not including a terminating null character, if any.

See Also

The mbstowcs function

Implementation Notes

The wcstombs function behaves like strncpy.