Open System Services Library Calls Reference Manual (G06.29+, H06.08+, J06.03+)
mbsrtowcs(3) OSS Library Calls Reference Manual
NAME
mbsrtowcs - Convert a character string to a wide-character string (restartable)
LIBRARY
H-series and J-series native Guardian processes: $SYSTEM.ZDLLnnn.ZCRTLDLL
32-bit H-series and J-series OSS processes: /G/system/zdllnnn/zcrtldll
64-bit H-series and J-series OSS processes: /G/system/zdllnnn/ycrtldll
SYNOPSIS
#include <wchar.h>
size_t mbsrtowcs(
wchar_t *dst,
const char **src,
size_t len,
mbstate_t *ps
);
PARAMETERS
dst Points to the wide-character object.
src Points to the character.
len
The number of bytes to process.
ps Points to the mbstate_t object.
DESCRIPTION
The mbsrtowcs( ) function converts a sequence of characters, beginning in the conversion state
described by the object pointed to by ps, from the array indirectly pointed to by src into a
sequence of corresponding wide-characters.
If dst is not a null pointer, the converted characters are stored into the array pointed to by dst.
Conversion continues up to and including a terminating null character, which is also stored.
Conversion stops early in either of these cases:
• A sequence of bytes is encountered that does not from a valid character.
• len codes have been stored into the array pointed to by dst (and dst is not a null pointer).
Each conversion takes place as if by a call to the mbrtowc( ) function.
If dst is not a null pointer, the pointer object pointed to by src is assigned either a null pointer (if
conversion stopped due to reaching a terminating null character) or the address just past the last
character converted (if any). If conversion stopped due to reaching a terminating null character,
and if dst is not a null pointer, the resulting state described is the initial conversion state.
If ps is a null pointer, the mbsrtowcs( ) function use its own internal mbstate_t object, which is
initialized at program startup to the initial conversion state. Otherwise the mbstate_t object
pointed to by ps is used to completely describe the current conversion state of the associated
character sequence. The implementation behaves as if no function defined in this specification
calls mbsrtowcs( ).
RETURN VALUES
If the input conversion encounters a sequence of bytes that do not form a valid character, an
encoding error occurs. In this case, the mbsrtowcs( ) function sets errno to [EILSEQ] and
returns (size_t)(-1). In this case, the conversion state is undefined. Otherwise, the mbsrtowcs( )
function returns the number of characters successfully converted, not including the terminating
null (if any).
4−182 Hewlett-Packard Company 527187-017