Next: , Previous: , Up: Stdio   [Contents][Index]


4.23 fputws, fputws_unlocked—write a wide character string in a file or stream

Synopsis

#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.