Name

wctomb - convert a wide character to a multibyte sequence

Library

libc.lib

Synopsis

  #include <stdlib.h>
  int wctomb (char *dst, wchar_t src);

Return values

If mbchar is NULL, the wctomb function returns nonzero if shift states are supported, zero otherwise. If mbchar is valid, wctomb returns the number of bytes processed in mbchar, or -1 if no multibyte character could be recognized or converted. In this case, wctomb (Ns, ’s);
internal conversion state is undefined.

Detailed description

The wctomb function converts a wide character wchar into a multibyte character and stores 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 behavior of the wctomb is affected by LC_CTYPE category of the current locale.


Examples

#include <stdlib.h>
#include <wchar.h>
/* Illustrates how to use wctomb API */
int example_wctomb(wchar_t wc)
{
 char s[MAX_CUR_MAX];
  int len;
  
  /* represent a wide-char in a single byte*/
  len = wctomb(s, wc);
  /* return the number of bytes */
  return(len);
}

         


Errors

The wctomb function will fail if:
[EILSEQ]
  An invalid multibyte sequence was detected.
[EINVAL]
  The internal conversion state is invalid.

Limitations

The current implementation of wctomb is not affected by the LC_CTYPE category of the current locale. It works only for UTF8 character set.

See also

mbtowc, wcrtomb, wcstombs, wctob

Feedback

For additional information or queries on this page send feedback

© 2005-2007 Nokia

Top