Index Index for
Section 3
Index Alphabetical
listing for M
Bottom of page Bottom of
page

mbstowcs(3)

NAME

mbstowcs, mbsrtowcs - Convert a multibyte character string to a wide- character string

SYNOPSIS

#include <stdlib.h> size_t mbstowcs( wchar_t *pwcs, const char *s, size_t n ); #include <wchar.h> size_t mbsrtowcs( wchar_t *pwcs, const char **s, size_t n, mbstate_t *ps );

LIBRARY

Standard C Library (libc)

STANDARDS

Interfaces documented on this reference page conform to industry standards as follows: mbstowcs(), mbsrtowcs(): XSH5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags.

PARAMETERS

*pwc Points to the array where the result of the conversion is stored. *s or **s Points or indirectly points to the multibyte-character string to be converted. n Specifies the number of wide characters in the destination array. *ps Points to an mbstate_t structure containing the conversion state of the multibyte character in s (for mbrtowc() only).

DESCRIPTION

The mbstowcs() function converts a multibyte-character string into a wide- character string, which is stored at a specified location. The function does not examine or convert any characters that follow a null byte, which is converted and stored as a wide-character code with value zero. The function does not store more than n wide characters in pwcs. When operating on overlapping strings, the behavior of this function is undefined. Behavior of the mbstowcs() function is affected by the LC_CTYPE category of the current locale. In locales that use shift-state encoding, the array pointed to by the s parameter begins in the initial shift state. The mbsrtowcs() function is a restartable version of mbstowcs(). Restartable conversion functions obtain and store the conversion state in an mbstate_t structure that can be read and changed by subsequent calls to the same or other restartable conversion functions.

RESTRICTIONS

[Tru64 UNIX] The mbsrtowcs() and other restartable versions of conversion functions are functional only when used with locales that support shift- state encoding. Currently, the operating system does not provide any locales that support shift-state encoding, so the mbstowcs() and mbsrtowcs() functions do not differ in terms of run-time behavior.

RETURN VALUES

When the mbstowcs() and mbsrtowcs() functions encounter an invalid multibyte character during conversion, they return a value of -1 cast to size_t and set errno to indicate the error. Otherwise: · The mbstowcs() function returns the number of characters stored in the output array (or required if pwcs is null), not including a terminating null wide character, if any. When the return value is n, the output array is not null-terminated. · The mbsrtowcs() function returns the number of characters stored in the output array, not including a terminating null wide character, if any.

ERRORS

If the following condition occurs, the mbstowcs() and mbsrtowcs() functions set errno to the corresponding value: [EILSEQ] The s parameter contains an invalid multibyte character.

SEE ALSO

Functions: btowc(3), mblen(3), mbsinit(3), mbtowc(3), wcstombs(3), wcslen(3), wctob(3), wctomb(3)

Index Index for
Section 3
Index Alphabetical
listing for M
Top of page Top of
page