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.
srcis set to NULL and*psrepresents the initial shift state. - An invalid multibyte character (according to the current C locale) was encountered.
srcis set to point at the beginning of the first unconverted multibyte character. - the next wide character to be stored would exceed
len.srcis 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
| |