fputws
, fputws_unlocked
—write a wide character string in a file or streamSynopsis
#include <wchar.h> int fputws(const wchar_t *__restrict ws, FILE *__restrict fp); #define _GNU_SOURCE #include <wchar.h> int fputws_unlocked(const wchar_t *__restrict ws, FILE *__restrict fp); #include <wchar.h> int _fputws_r(struct _reent *ptr, const wchar_t *ws, FILE *fp); #include <wchar.h> int _fputws_unlocked_r(struct _reent *ptr, const wchar_t *ws, FILE *fp);
Description
fputws
writes the wide character string at ws (but without the
trailing null) to the file or stream identified by fp.
fputws_unlocked
is a non-thread-safe version of fputws
.
fputws_unlocked
may only safely be used within a scope
protected by flockfile() (or ftrylockfile()) and funlockfile(). This
function may safely be used in a multi-threaded program if and only
if they are called while the invoking thread owns the (FILE *)
object, as is the case after a successful call to the flockfile() or
ftrylockfile() functions. If threads are disabled, then
fputws_unlocked
is equivalent to fputws
.
_fputws_r
and _fputws_unlocked_r
are simply reentrant versions of the
above that take an additional reentrant struct pointer argument: ptr.
Returns
If successful, the result is a non-negative integer; otherwise, the result
is -1
to indicate an error.
Portability
fputws
is required by C99 and POSIX.1-2001.
fputws_unlocked
is a GNU extension.