mbsrtowcs(3C)mbsrtowcs(3C)NAMEmbsrtowcs() - convert a character string to a wide-character string
(restartable)
SYNOPSISDESCRIPTION
The function converts a sequence of characters, beginning in the con‐
version 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. Con‐
version stops early in either of the following cases:
· When a sequence of bytes is encountered that does not from a
valid character.
· When 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 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 terminat‐
ing 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 function uses its own internal mbstate_t
object, which is initialized at program startup to the initial conver‐
sion 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 will behave as if no function
defined in this specification calls
APPLICATION USAGE
The prototype of this function is available to applications if they
are:
a. conformant.
b. Compiled with macro with a value >=500.
c. Compiled with macro with a value >= 200112.
EXTERNAL INFLUENCES
Environment Variables
The behavior of this function is affected by the category of the cur‐
rent locale.
RETURN VALUE
If the input conversion encounters a sequence of bytes that do not form
a valid character, an encoding error occurs. In this case, the func‐
tion stores the value of the macro in and returns (size_t)-1; the con‐
version state is undefined. Otherwise, it returns the number of char‐
acters successfully converted, not including the terminating null (if
any).
ERRORS
The function may fail if:
Invalid character sequence is detected.
ps points to an object that contains an invalid con‐
version state.
WARNINGS
With the exception of ASCII characters, the code values of wide charac‐
ters (type of are specific to the effective locale specified by the
environment variable. These values may not be compatible with values
obtained by specifying other locales that are supported now, or which
may be supported in the future. It is recommended that wide character
constants and wide string literals (see the not be used, and that wide
character code values not be stored in files or devices because future
standards may dictate changes in the code value assignments of the wide
characters. However, wide character constants and wide string literals
corresponding to the characters of the ASCII code set can be safely
used since their values are guaranteed to be the same as their ASCII
code set values.
AUTHOR
was developed by HP and Mitsubishi Electric Corporation.
SEE ALSOmbrtowc(3C), mbsinit(3C), glossary(9).
mbsrtowcs(3C)