##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# wcsrtombs

From cppreference.com
< c‎ | string‎ | multibyte

Defined in header `<wchar.h>` |  |
size_t wcsrtombs( char* dst, const wchar_t** src, size_t len, mbstate_t* ps ) |  |

Converts a sequence of wide characters from the array whose first element is pointed to by `*src` to its narrow multibyte representation that begins in the conversion state described by `*ps`. If `dst` is not null, converted characters are stored in the successive elements of the char array pointed to by `dst`. No more than `len` bytes are written to the destination array.

Each character is converted as if by a call to wcrtomb. The conversion stops if:

- The null character was converted and stored. `src` is set to NULL and `*ps` represents the initial shift state.
- A wchar_t was found that does not correspond to a valid character in the current C locale. `src` is set to point at the first unconverted wide character.
- the next multibyte character to be stored would exceed `len`. `src` is set to point at the first unconverted wide character. This condition is not checked if dst==NULL.

### [edit] Parameters

dst | - | pointer to narrow character array where the multibyte characters will be stored
src | - | pointer to pointer to the first element of a null-terminated wide string
len | - | number of bytes available in the array pointed to by dst
ps | - | pointer to the conversion state object

### [edit] Return value

On success, returns the number of bytes (including any shift sequences, but excluding the terminating '\0') written to the character array whose first element is pointed to by `dst`. If dst==NULL, returns the number of bytes that would have been written.

On conversion error (if invalid wide 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

wcrtomb | converts a wide character to its multibyte representation, given state (function) [edit]
mbsrtowcs | converts a narrow multibyte character string to wide string, given state (function) [edit]
C++ documentation for wcsrtombs

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=c/string/multibyte/wcsrtombs&oldid=56809"
Category:

- Todo no example