Name
wctomb - convert a wide character to a multibyte sequence
Library
libc.lib
Synopsis
|
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
© 2008 Nokia Corporation. All rights reserved. This documentation can be used in the connection with this Product to help and support the user. |
|