diff options
Diffstat (limited to 'man3/wcstombs.3')
-rw-r--r-- | man3/wcstombs.3 | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/man3/wcstombs.3 b/man3/wcstombs.3 new file mode 100644 index 000000000..17ce12ea2 --- /dev/null +++ b/man3/wcstombs.3 @@ -0,0 +1,64 @@ +.\" 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 WCSTOMBS 3 1999-07-25 "GNU" "Linux Programmer's Manual" +.SH NAME +wcstombs \- convert a wide character string to a multibyte string +.SH SYNOPSIS +.nf +.B #include <stdlib.h> +.sp +.BI "size_t wcstombs(char *" dest ", const wchar_t *" src ", size_t " n ); +.fi +.SH DESCRIPTION +If \fIdest\fP is not a NULL pointer, the \fBwcstombs\fP function converts +the wide-character string \fIsrc\fP to a multibyte string starting at +\fIdest\fP. At most \fIn\fP bytes are written to \fIdest\fP. The conversion +starts in the initial state. The conversion can stop for three reasons: +.PP +1. A wide character has been encountered that can not be represented as a +multibyte sequence (according to the current locale). In this case +(size_t)(-1) is returned. +.PP +2. The length limit forces a stop. In this case the number of bytes written to +\fIdest\fP is returned, but the shift state at this point is lost. +.PP +3. The wide-character string has been completely converted, including the +terminating L'\\0'. In this case the conversion ends in the initial state. +The number of bytes written to \fIdest\fP, excluding the terminating '\\0' +byte, is returned. +.PP +The programmer must ensure that there is room for at least \fIn\fP bytes +at \fIdest\fP. +.PP +If \fIdest\fP is NULL, \fIn\fP is ignored, and the conversion proceeds as +above, except that the converted bytes are not written out to memory, and that +no length limit exists. +.PP +In order to avoid the case 2 above, the programmer should make sure \fIn\fP +is greater or equal to \fIwcstombs(NULL,src,0)+1\fP. +.SH "RETURN VALUE" +The \fBwcstombs\fP function returns the number of bytes that make up the +converted part of multibyte sequence, not including the terminating null byte. +If a wide character was encountered which could not be converted, (size_t)(-1) +is returned. +.SH "CONFORMING TO" +ISO/ANSI C, UNIX98 +.SH "SEE ALSO" +.BR wcsrtombs (3) +.SH NOTES +The behaviour of \fBwcstombs\fP depends on the LC_CTYPE category of the +current locale. +.PP +The function \fBwcsrtombs\fP provides a thread safe interface to the same +functionality. |