wcsrtombswcsnrtombs
- convert a wide-character string to a character string (restartable)
LIBRARY
Lb libc
SYNOPSIS
#include <wchar.h> size_t
Fo wcsrtombs
Fa char * restrict dst const wchar_t ** restrict src
Fa size_t len mbstate_t * restrict ps
Fc Ft size_t
Fo wcsnrtombs
Fa char * restrict dst const wchar_t ** restrict src size_t nwc
Fa size_t len mbstate_t * restrict ps
Fc
DESCRIPTION
The
wcsrtombs ();
function converts a string of wide characters indirectly pointed to by
Fa src
to a corresponding multibyte character string stored in the array
pointed to by
Fa dst .
No more than
Fa len
bytes are written to
Fa dst .
If
Fa dst
is
NULL
no characters are stored.
If
Fa dst
is not
NULL
the pointer pointed to by
Fa src
is updated to point to the character after the one that conversion stopped at.
If conversion stops because a null character is encountered,
Fa *src
is set to
NULL
The
Vt mbstate_t
argument,
Fa ps ,
is used to keep track of the shift state.
If it is
NULL
wcsrtombs ();
uses an internal, static
Vt mbstate_t
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
Fa nwc
characters from the buffer pointed to by
Fa src .
RETURN VALUES
The
wcsrtombs ();
and
wcsnrtombs ();
functions return the number of bytes stored in
the array pointed to by
Fa dst
(not including any terminating null), if successful, otherwise it returns
Po Vt size_t Pc Ns -1 .
ERRORS
The
wcsrtombs ();
and
wcsnrtombs ();
functions will fail if: