mbsrtowcs
Defined in header
<wchar.h>
|
||
Converts a null-terminated multibyte character sequence, which begins in the conversion state described by *ps
, from the array whose first element is pointed to by *src
to its wide character representation. If dst
is not null, converted characters are stored in the successive elements of the wchar_t array pointed to by dst
. No more than len
wide characters are written to the destination array.
Each multibyte character is converted as if by a call to mbrtowc. The conversion stops if:
- The multibyte null character was converted and stored.
src
is set to NULL and*ps
represents the initial shift state. - An invalid multibyte character (according to the current C locale) was encountered.
src
is set to point at the beginning of the first unconverted multibyte character. - the next wide character to be stored would exceed
len
.src
is set to point at the beginning of the first unconverted multibyte character. This condition is not checked if dst==NULL.
Contents |
[edit] Parameters
dst | - | pointer to wide character array where the results will be stored |
src | - | pointer to pointer to the first element of a null-terminated multibyte string |
len | - | number of wide characters available in the array pointed to by dst |
ps | - | pointer to the conversion state object |
[edit] Return value
On success, returns the number of wide characters, excluding the terminating L'\0', written to the character array.. If dst==NULL, returns the number of wide characters that would have been written given unlimited length.
On conversion error (if invalid multibyte character was encountered), returns (size_t)-1, stores EILSEQ in errno, and leaves *ps in unspecified state.
[edit] Example
This section is incomplete Reason: no example |
[edit] See also
converts the next multibyte character to wide character, given state (function) |
|
converts a wide string to narrow multibyte character string, given state (function) |
|
C++ documentation for mbsrtowcs
|