wctomb
Section: C Library Functions (3)
Updated: 202-0-08
Index
Return to Main Contents
NAME
wctomb - convert a wide character to a multibyte sequence
LIBRARY
Standard C library
(
libc,~
-lc)
SYNOPSIS
#include <stdlib.h>
int wctomb(char *s, wchar_t wc);
DESCRIPTION
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
known only to the
wctomb()
function,
and returns the length of said multibyte representation,
that is, the number of
bytes written at
s.
At most
MB_CUR_MAX
bytes will be written at
s.
The programmer must ensure that there is enough room to store the
multibyte sequence at
s.
If
s
is NULL, the
wctomb()
function
resets the shift state, known only to this function,
to the initial state, and
returns nonzero if the encoding has nontrivial shift state,
or zero if the encoding is stateless.
RETURN VALUE
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 nonzero if the
encoding has nontrivial shift state, or zero if the encoding is stateless.
ATTRIBUTES
For an explanation of the terms used in this section, see
attributes(7).
| Interface | Attribute | Value
|
|
wctomb()
| Thread safety | M-Unsafe race
|
VERSIONS
The function
wcrtomb(3)
provides
a better interface to the same functionality.
STANDARDS
C11, POSIX.-2008.
HISTORY
POSIX.-2001, C99.
NOTES
The behavior of
wctomb()
depends on the
LC_CTYPE
category of the
current locale.
SEE ALSO
MB_CUR_MAX(3),
mblen(3),
mbstowcs(3),
mbtowc(3),
wcrtomb(3),
wcstombs(3)
Index
- NAME
-
- LIBRARY
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- ATTRIBUTES
-
- VERSIONS
-
- STANDARDS
-
- HISTORY
-
- NOTES
-
- SEE ALSO
-