From cppreference.com
< c‎ | io
File input/output

File access
Direct input/output
Unformatted input/output
Formatted input
Formatted output
File positioning
Error handling
Operations on files
Defined in header <wchar.h>
int fputws( const wchar_t *str, FILE *stream );
(until C99)
(since C95)
int fputws( const wchar_t * restrict str, FILE * restrict stream );
(since C99)

Writes every character from the null-terminated wide string str to the output stream stream, as if by repeatedly executing fputwc.

The terminating null wide character from str is not written.


str - null-terminated wide string to be written
stream - output stream

Return value

On success, returns a non-negative value

On failure, returns EOF and sets the error indicator (see ferror) on stream.


#include <locale.h>
#include <stdio.h>
#include <wchar.h>
int main(void)
    setlocale(LC_ALL, "en_US.utf8");
    int rc = fputws(L"御休みなさい", stdout);
    if (rc == EOF)
       perror("fputws()"); // POSIX requires that errno is set




  • C11 standard (ISO/IEC 9899:2011):
  • The fputws function (p: 423)
  • C99 standard (ISO/IEC 9899:1999):
  • The fputws function (p: 368)

See also

writes a character string to a file stream
prints formatted wide character output to stdout, a file stream or a buffer
writes a wide string to a file stream
gets a wide string from a file stream