Next: , Previous: fputwc, Up: Stdio


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.