.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA)
.\" 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.
.\" %%%LICENSE_END
.\"
.\" 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 FPUTWS 3  2017-09-15 "GNU" "Linux Programmer's Manual"
.SH NAME
fputws \- write a wide-character string to a FILE stream
.SH SYNOPSIS
.nf
.B #include <wchar.h>
.PP
.BI "int fputws(const wchar_t *" ws ", FILE *" stream );
.fi
.SH DESCRIPTION
The
.BR fputws ()
function is the wide-character equivalent of
the
.BR fputs (3)
function.
It writes the wide-character string starting at \fIws\fP, up to but
not including the terminating null wide character (L\(aq\\0\(aq), to \fIstream\fP.
.PP
For a nonlocking counterpart, see
.BR unlocked_stdio (3).
.SH RETURN VALUE
The
.BR fputws ()
function returns a
nonnegative integer if the operation was
successful, or \-1 to indicate an error.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.TS
allbox;
lb lb lb
l l l.
Interface	Attribute	Value
T{
.BR fputws ()
T}	Thread safety	MT-Safe
.TE
.sp 1
.SH CONFORMING TO
POSIX.1-2001, POSIX.1-2008, C99.
.SH NOTES
The behavior of
.BR fputws ()
depends on the
.B LC_CTYPE
category of the
current locale.
.PP
In the absence of additional information passed to the
.BR fopen (3)
call, it is
reasonable to expect that
.BR fputws ()
will actually write the multibyte
string corresponding to the wide-character string \fIws\fP.
.SH SEE ALSO
.BR fputwc (3),
.BR unlocked_stdio (3)
