Available in

(3) (3)/es (3)/fr (3)/ja (3)/pl (3)/pt (3c) (3posix)

TOC

wcrtomb(3C)              Standard C Library Functions              wcrtomb(3C)



NAME

       wcrtomb - convert a wide-character code to a character (restartable)

SYNOPSIS

       #include <stdio.h>

       size_t wcrtomb(char *s, wchar_t wc, mbstate_t *ps);

DESCRIPTION

       If  s  is  a  null pointer, the wcrtomb() function is equivalent to the
       call:

              wcrtomb(buf, L’\0’, ps)

       where buf is an internal buffer.

       If s is not a null pointer, the wcrtomb() function determines the  num‐
       ber  of bytes needed to represent the character that corresponds to the
       wide-character given by wc (including any shift sequences), and  stores
       the  resulting  bytes in the array whose first element is pointed to by
       s. At most MB_CUR_MAX bytes are stored.  If wc is a  null  wide-charac‐
       ter,  a  null  byte is stored, preceded by any shift sequence needed to
       restore the initial shift state.  The resulting state described is  the
       initial conversion state.

       If  ps  is a null pointer, the wcrtomb() function uses its own internal
       mbstate_t object, which is initialized at program startup to  the  ini‐
       tial conversion state.   Otherwise, the  mbstate_t object pointed to by
       ps is used to completely describe the current conversion state  of  the
       associated  character  sequence.  Solaris will behave as if no function
       defined in the Solaris Reference Manual calls wcrtomb().

       The behavior of this function is affected by the LC_CTYPE  category  of
       the current locale.  See environ(5).

RETURN VALUES

       The  wcrtomb() function returns the number of bytes stored in the array
       object (including any shift sequences).  When wc is not a  valid  wide-
       character, an encoding error occurs.  In this case, the function stores
       the value of the macros EILSEQ in errno  and  returns  (size_t)−1;  the
       conversion state is undefined.

ERRORS

       The wcrtomb() function may fail if:

       EINVAL
             The ps argument points to an object that contains an invalid con‐
             version state.

       EILSEQ
             Invalid wide-character code is detected.

USAGE

       If ps is not a  null  pointer,  wcrtomb()  uses  the  mbstate_t  object
       pointed  to  by ps and the function can be used safely in multithreaded
       applications, as long as setlocale(3C) is not being  called  to  change
       the  locale.  If  ps  is  a  null  pointer, wcrtomb() uses its internal
       mbstate_t object and the function is Unsafe in  multithreaded  applica‐
       tions.

ATTRIBUTES

       See attributes(5) for descriptions of the following attributes:


       +-----------------------------+-----------------------------+
       |      ATTRIBUTE TYPE         |      ATTRIBUTE VALUE        |
       +-----------------------------+-----------------------------+
       |MT-Level                     |See NOTES below              |
       +-----------------------------+-----------------------------+

SEE ALSO

       mbsinit(3C), setlocale(3C), attributes(5), environ(5)



SunOS 5.9                         3 Feb 1998                       wcrtomb(3C)

COMMENTS

Add your comment here. Whitespace and linebreaks are preserved. URLs are linked automatically.
CAPTCHA

No HTML allowed. URLs will be linked with nofollow attribute. Whitespace is preserved.