| .\" Copyright (c) Bruno Haible <haible@clisp.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 |
| .\" |
| .TH WCTOMB 3 1999-07-25 "GNU" "Linux Programmer's Manual" |
| .SH NAME |
| wctomb \- convert a wide character to a multibyte sequence |
| .SH SYNOPSIS |
| .nf |
| .B #include <stdlib.h> |
| .sp |
| .BI "int wctomb(char *" s ", wchar_t " wc ); |
| .fi |
| .SH DESCRIPTION |
| If \fIs\fP is not NULL, the \fBwctomb\fP() function converts the wide character |
| \fIwc\fP to its multibyte representation and stores it at the beginning of |
| the character array pointed to by \fIs\fP. 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, i.e. the number of |
| bytes written at \fIs\fP. |
| .PP |
| The programmer must ensure that there is room for at least \fBMB_CUR_MAX\fP |
| bytes at \fIs\fP. |
| .PP |
| If \fIs\fP is NULL, the \fBwctomb\fP() function |
| .\" The Dinkumware doc and the Single Unix specification say this, but |
| .\" glibc doesn't implement this. |
| resets the shift state, only known to this function, to the initial state, and |
| returns non-zero if the encoding has non-trivial shift state, or zero if the |
| encoding is stateless. |
| .SH "RETURN VALUE" |
| If \fIs\fP is not NULL, the \fBwctomb\fP() function returns the number of bytes |
| that have been written to the byte array at \fIs\fP. If \fIwc\fP can not be |
| represented as a multibyte sequence (according to the current locale), \-1 is |
| returned. |
| .PP |
| If \fIs\fP is NULL, the \fBwctomb\fP() function returns non-zero if the |
| encoding has non-trivial shift state, or zero if the encoding is stateless. |
| .SH "CONFORMING TO" |
| ISO/ANSI C, UNIX98 |
| .SH "SEE ALSO" |
| .BR MB_CUR_MAX (3), |
| .BR wcrtomb (3), |
| .BR wcstombs (3) |
| .SH NOTES |
| The behaviour of \fBwctomb\fP() depends on the LC_CTYPE category of the |
| current locale. |
| .PP |
| This function is not multi-thread safe. The function \fBwcrtomb\fP() provides |
| a better interface to the same functionality. |