DragonFly On-Line Manual Pages

Search: Section:  

WCTOMB(3)             DragonFly Library Functions Manual             WCTOMB(3)


wctomb, wctomb_l -- convert a wide-character code to a character


Standard C Library (libc, -lc)


#include <stdlib.h> int wctomb(char *mbchar, wchar_t wchar); #include <xlocale.h> int wctomb_l(char *mbchar, wchar_t wchar, locale_t locale);


The wctomb() and wctomb_l() functions convert a wide character wchar into a multibyte character and store the result in mbchar. The object pointed to by mbchar must be large enough to accommodate the multibyte character, which may be up to MB_LEN_MAX bytes. A call with a null mbchar pointer returns nonzero if the current locale requires shift states, zero otherwise; if shift states are required, the shift state is reset to the initial state. The wctomb_l() function takes an explicit locale argument, whereas the wctomb() function uses the current global or per-thread locale.


If mbchar is NULL, the wctomb() and wctomb_l() functions return nonzero if shift states are supported, zero otherwise. If mbchar is valid, wctomb() and wctomb_l() return the number of bytes processed in mbchar, or -1 if no multibyte character could be recognized or converted. In this case, wctomb()'s and wctomb_l()'s internal conversion states are undefined.


The wctomb() and wctomb_l() functions will fail if: [EILSEQ] An invalid multibyte sequence was detected. [EINVAL] The internal conversion state is invalid.


mbtowc(3), wcrtomb(3), wcstombs(3), wctob(3), xlocale(3)


The wctomb() function conforms to ISO/IEC 9899:1999 (``ISO C99''). DragonFly 4.3 December 27, 2013 DragonFly 4.3

Search: Section: