Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

wctomb(3) [netbsd man page]

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

NAME
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

Check Out this Related Man Page

WCSTOMBS(3)						   BSD Library Functions Manual 					       WCSTOMBS(3)

NAME
wcstombs -- converts a wide-character string to a multibyte character string LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <stdlib.h> size_t wcstombs(char * restrict s, const wchar_t * restrict pwcs, size_t n); DESCRIPTION
wcstombs() converts the nul-terminated wide-character string pointed to by pwcs to the corresponding multibyte character string, and stores it in the array pointed to by s. This function may modify the first at most n bytes of the array pointed to by s. Each character will be converted as if wctomb(3) is continuously called, except the internal state of wctomb(3) will not be affected. For state-dependent encoding, the wcstombs() implies the result multibyte character string pointed to by s always to begin with an initial state. The behaviour of wcstombs() is affected by the LC_CTYPE category of the current locale. These are the special cases: s == NULL The wcstombs() returns the number of bytes to store the whole multibyte character string corresponding to the wide-character string pointed to by pwcs. In this case, n is ignored. pwcs == NULL Undefined (may cause the program to crash). RETURN VALUES
wcstombs() returns: 0 or positive Number of bytes stored in the array pointed to by s. There are no cases that the value returned is greater than n (unless s is a null pointer). If the return value is equal to n, the string pointed to by s will not be nul-terminated. (size_t)-1 pwcs points to a string containing an invalid wide character. wcstombs() also sets errno to indicate the error. ERRORS
wcstombs() may cause an error in the following case: [EILSEQ] pwcs points to a string containing an invalid wide character. SEE ALSO
mbstowcs(3), setlocale(3), wctomb(3) STANDARDS
The wcstombs() function conforms to ANSI X3.159-1989 (``ANSI C89''). The restrict qualifier is added at ISO/IEC 9899:1999 (``ISO C99''). BSD
March 16, 2011 BSD
Man Page