.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\" ISO/IEC 9899:1999
.\"
-.TH WCSTOMBS 3 2014-03-18 "GNU" "Linux Programmer's Manual"
+.TH WCSTOMBS 3 2019-03-06 "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
+.PP
.BI "size_t wcstombs(char *" dest ", const wchar_t *" src ", size_t " n );
.fi
.SH DESCRIPTION
.I n
bytes are written to
.IR dest .
-The conversion
-starts in the initial state.
+The sequence of characters placed in
+.IR dest
+begins in the initial shift state.
The conversion can stop for three reasons:
-.PP
-1. A wide character has been encountered that can not be represented as a
+.IP 1. 3
+A wide character has been encountered that can not be represented as a
multibyte sequence (according to the current locale).
In this case,
.I (size_t)\ \-1
is returned.
-.PP
-2. The length limit forces a stop.
+.IP 2.
+The length limit forces a stop.
In this case, the number of bytes written to
.I dest
is returned, but the shift state at this point is lost.
-.PP
-3. The wide-character string has been completely converted, including the
-terminating null wide character (L\(aq\\0\(aq).
-In this case, the conversion ends in the initial state.
+.IP 3.
+The wide-character string has been completely converted, including the
+terminating null wide character (L\(aq\e0\(aq).
+In this case, the conversion ends in the initial shift state.
The number of bytes written to
.IR dest ,
-excluding the terminating null byte (\(aq\\0\(aq), is returned.
+excluding the terminating null byte (\(aq\e0\(aq), is returned.
.PP
The programmer must ensure that there is room for at least
.I n
.BR wcstombs ()
T} Thread safety MT-Safe
.TE
-
+.sp 1
.SH CONFORMING TO
-C99.
+POSIX.1-2001, POSIX.1-2008, C99.
.SH NOTES
The behavior of
.BR wcstombs ()
.PP
The function
.BR wcsrtombs (3)
-provides a thread safe interface to
-the same functionality.
+provides a better interface to the same functionality.
.SH SEE ALSO
.BR mblen (3),
-.BR mbtowc (3),
.BR mbstowcs (3),
+.BR mbtowc (3),
.BR wcsrtombs (3)
-.BR wctom (3)
+.BR wctomb (3)