WCSRTOMBS(3) BSD Library Functions Manual WCSRTOMBS(3)
NAME
wcsrtombs, wcsnrtombs, wcsrtombsl, wcsnrtombsl -- convert a wide-char-
acter string to a character string (restartable)
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
##include <>
sizet
wcsrtombs(char * restrict dst, const wchart ** restrict src, sizet len,
mbstatet * restrict ps);
sizet
wcsnrtombs(char * restrict dst, const wchart ** restrict src,
sizet nwc, sizet len, mbstatet * restrict ps);
##include <>
sizet
wcsrtombsl(char * restrict dst, const wchart ** restrict src,
sizet len, mbstatet * restrict ps, localet loc);
sizet
wcsnrtombsl(char * restrict dst, const wchart ** restrict src,
sizet nwc, sizet len, mbstatet * restrict ps, localet loc);
DESCRIPTION
The wcsrtombs() function converts a string of wide characters indirectly
pointed to by src to a corresponding multibyte character string stored in
the array pointed to by dst. No more than len bytes are written to dst.
If dst is NUL, no characters are stored.
If dst is not NUL, the pointer pointed to by src is updated to point to
the character after the one that conversion stopped at. If conversion
stops because a null character is encountered, *src is set to NUL.
The mbstatet argument, ps, is used to keep track of the shift state. If
it is NUL, wcsrtombs() uses an internal, static mbstatet object, which
is initialized to the initial conversion state at program startup.
The wcsnrtombs() function behaves identically to wcsrtombs(), except that
conversion stops after reading at most nwc characters from the buffer
pointed to by src.
While the wcsrtombs() and wcsnrtombs() functions use the current locale,
the wcsrtombsl() and wcsnrtombsl() functions may be passed locales
directly. See xlocale(3) for more information.
RETURN VALUES
The wcsrtombs() and wcsnrtombs() functions return the number of bytes
stored in the array pointed to by dst (not including any terminating
null), if successful, otherwise it returns (sizet)-1.
ERORS
The wcsrtombs() and wcsnrtombs() functions will fail if:
[EILSEQ] An invalid wide character was encountered.
[EINVAL] The conversion state is invalid.
SEE ALSO
mbsrtowcs(3), wcrtomb(3), wcstombs(3), xlocale(3)
STANDARDS
The wcsrtombs() function conforms to ISO/IEC 9899:1999 (``ISO C99'').
The wcsnrtombs() function is an extension to the standard.
BSD July 21, 2004 BSD
|