mbsrtowcs()
QNX SDP8.0C Library ReferenceAPIDeveloper
Convert a multibyte-character string into a wide-character string (restartable)
Synopsis:
#include <wchar.h>
size_t mbsrtowcs( wchar_t * dst,
const char ** src,
size_t n,
mbstate_t * ps );
Arguments:
- dst
- A pointer to a buffer where the function can store the wide-character string.
- src
- The string of multibyte characters that you want to convert.
- n
- The maximum number of wide characters to store in the buffer that dst points to.
- ps
- An internal pointer that lets mbsrtowcs() be a restartable
version of
mbstowcs();
if ps is NULL, mbsrtowcs() uses its
own internal variable.
You can call mbsinit() to determine the status of this variable.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The mbsrtowcs() function converts a string of multibyte characters pointed to by src into the corresponding wide characters pointed to by dst, to a maximum of n wide characters, including the terminating NULL character.
The function converts each character as if by a call to mbtowc() and stops early if:
- a sequence of bytes doesn't conform to a valid character
Or:
- converting the next character would exceed the limit of n wide characters
This function is affected by LC_CTYPE.
Returns:
- (size_t)-1
- Failure; invalid wide-character code.
- x
- Success; the number of total characters successfully converted, not including the terminating NULL character.
Errors:
- EILSEQ
- Invalid character sequence.
- EINVAL
- The ps argument points to an invalid object.
Classification:
Safety: | |
---|---|
Cancellation point | No |
Signal handler | Yes |
Thread | Read the Caveats |
Caveats:
This function is safe to call in a multithreaded program if the ps argument isn't NULL.
Page updated: