wctomb — convert a wide character to a multibyte sequence
#include <stdlib.h>
int
wctomb( |
char * | s, |
wchar_t | wc) ; |
If s
is not NULL,
the wctomb
() function converts
the wide character wc
to its multibyte representation and stores it at the
beginning of the character array pointed to by s
. It updates the shift state,
which is stored in a static anonymous variable only known to
the wctomb function, and returns the length of said multibyte
representation, that is, the number of bytes written at
s
.
The programmer must ensure that there is room for at least
MB_CUR_MAX
bytes at s
.
If s
is NULL, the
wctomb
() function resets the
shift state, only known to this function, to the initial
state, and returns non-zero if the encoding has nontrivial
shift state, or zero if the encoding is stateless.
If s
is not NULL,
the wctomb
() function returns
the number of bytes that have been written to the byte array
at s
. If wc
can not be represented as a
multibyte sequence (according to the current locale),
−1 is returned.
If s
is NULL, the
wctomb
() function returns
non-zero if the encoding has nontrivial shift state, or zero
if the encoding is stateless.
The behavior of wctomb
()
depends on the LC_CTYPE
category of the current locale.
This function is not multithread safe. The function wcrtomb(3) provides a better interface to the same functionality.
This page is part of release 3.14 of the Linux man-pages
project. A
description of the project, and information about reporting
bugs, can be found at
http://www.kernel.org/doc/man-pages/.
Copyright (c) Bruno Haible <haibleclisp.cons.org> This is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. References consulted: GNU glibc-2 source code and manual Dinkumware C library reference http://www.dinkumware.com/ OpenGroup's Single Unix specification http://www.UNIX-systems.org/online.html ISO/IEC 9899:1999 |