Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

wctomb(3) [osx man page]

WCTOMB(3)						   BSD Library Functions Manual 						 WCTOMB(3)

wctomb, wctomb_l -- convert a wide-character code to a character LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <stdlib.h> int wctomb(char *s, wchar_t wchar); #include <stdlib.h> #include <xlocale.h> int wctomb_l(char *s, wchar_t wchar, locale_t loc); DESCRIPTION
The wctomb() function converts a wide character, wchar, into a multibyte character and stores the result in s. The object pointed to by s must be large enough to accommodate the multibyte character, which may be up to MB_LEN_MAX bytes. A call with a null s 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. Although the wctomb() function uses the current locale, the wctomb_l() function may be passed a locale directly. See xlocale(3) for more information. RETURN VALUES
If s is NULL, the wctomb() function returns nonzero if shift states are supported, zero otherwise. If s is valid, wctomb() returns the num- ber of bytes processed in s, or -1 if no multibyte character could be recognized or converted. In this case, wctomb()'s internal conversion state is undefined. ERRORS
The wctomb() function will fail if: [EILSEQ] An invalid multibyte sequence was detected. [EINVAL] The internal conversion state is invalid. SEE ALSO
mbtowc(3), wcrtomb(3), wcstombs(3), wctob(3), xlocale(3) STANDARDS
The wctomb() function conforms to ISO/IEC 9899:1999 (``ISO C99''). BSD
April 8, 2004 BSD

Check Out this Related Man Page

WCTOMB(3)						   BSD Library Functions Manual 						 WCTOMB(3)

wctomb -- converts a wide character to a multibyte character LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <stdlib.h> int wctomb(char * s, const wchar_t wchar); DESCRIPTION
The wctomb() converts the wide character wchar to the corresponding multibyte character, and stores it in the array pointed to by s. wctomb() may store at most MB_CUR_MAX bytes in the array. In state-dependent encoding, wctomb() may store the special sequence to change the conversion state before an actual multibyte character into the array pointed to by s. If wchar is a nul wide character (''), this function sets its own internal state to an initial conversion state. Calling any other functions in Standard C Library (libc, -lc) never changes the internal state of wctomb(), except changing the LC_CTYPE cat- egory of the current locale by calling setlocale(3). Such setlocale(3) calls cause the internal state of this function to be indeterminate. The behaviour of wctomb() is affected by the LC_CTYPE category of the current locale. There is one special case: s == NULL wctomb() initializes its own internal state to an initial state, and determines whether the current encoding is state-depen- dent. This function returns 0 if the encoding is state-independent, otherwise non-zero. In this case, wchar is completely ignored. RETURN VALUES
Normally, wctomb() returns: positive Number of bytes for the valid multibyte character pointed to by s. There are no cases that the value returned is greater than n or the value of the MB_CUR_MAX macro. -1 wchar is an invalid wide character. If s is equal to NULL, mbtowc() returns: 0 The current encoding is state-independent. non-zero The current encoding is state-dependent. ERRORS
No errors are defined. SEE ALSO
setlocale(3) STANDARDS
The wctomb() function conforms to ANSI X3.159-1989 (``ANSI C89''). BSD
February 3, 2002 BSD
Man Page