Manpage of WCRTOMB
WCRTOMBSection: Linux Programmer's Manual (3)
NAMEwcrtomb - convert a wide character to a multibyte sequence
#include <wchar.h>size_t wcrtomb(char *s, wchar_t wc, mbstate_t *ps);
DESCRIPTIONThe main case for this function is when sis not NULL and wcis not a null wide character (Laq\0aq). In this case, the wcrtomb() function converts the wide character wcto its multibyte representation and stores it at the beginning of the character array pointed to by s. It updates the shift state *ps, and returns the length of said multibyte representation, that is, the number of bytes written at s.
A different case is when sis not NULL, but wcis a null wide character (Laq\0aq). In this case, the wcrtomb() function stores at the character array pointed to by sthe shift sequence needed to bring *psback to the initial state, followed by a aq\0aq byte. It updates the shift state *ps(i.e., brings it into the initial state), and returns the length of the shift sequence plus one, that is, the number of bytes written at s.
A third case is when sis NULL. In this case, wcis ignored, and the function effectively returns
wcrtomb(buf, Laq\0aq, ps)
where bufis an internal anonymous buffer.
RETURN VALUEThe wcrtomb() function returns the number of bytes that have been or would have been written to the byte array at s. If wccan not be represented as a multibyte sequence (according to the current locale), (size_t) -1is returned, and errnoset to EILSEQ.
ATTRIBUTESFor an explanation of the terms used in this section, see attributes(7).
|wcrtomb()||Thread safety||MT-Unsafe race:wcrtomb/!ps|
CONFORMING TOPOSIX.1-2001, POSIX.1-2008, C99.
NOTESThe behavior of wcrtomb() depends on the LC_CTYPEcategory of the current locale.
SEE ALSOmbsinit(3), wcsrtombs(3)
This document was created by man2html, using the manual pages.
Time: 22:27:48 GMT, June 20, 2016