Available in

(3) (3)/es (3)/fr (3)/ja (3)/pl (3)/pt (3c) (3posix)

TOC

fputwc(3C)               Standard C Library Functions               fputwc(3C)



NAME

       fputwc, putwc, putwchar - put wide-character code on a stream

SYNOPSIS

       #include <stdio.h>
       #include <wchar.h>

       wint_t fputwc(wchar_t wc, FILE*stream);

       wint_t putwc(wchar_t wc, FILE*stream);

       #include <wchar.h>

       wint_t putwchar(wchar_t wc);

DESCRIPTION

       The  fputwc()  function writes the character corresponding to the wide-
       character code wc to the output stream pointed to  by  stream,  at  the
       position  indicated  by  the associated file-position indicator for the
       stream (if defined), and advances the indicator appropriately.  If  the
       file  cannot  support positioning requests, or if the stream was opened
       with append mode, the character is appended to the output  stream.   If
       an  error  occurs  while  writing the character, the shift state of the
       output file is left in an undefined state.

       The st_ctime and st_mtime fields of the file will be marked for  update
       between  the  successful  execution of fputwc() and the next successful
       completion of a call to fflush(3C) or fclose(3C) on the same stream  or
       a call to exit(2) or abort(3C).

       The  putwc()  function  is  equivalent  to  fputwc(), except that it is
       implemented as a macro.

       The  call  putwchar(wc)  is  equivalent  to  putwc(wc,   stdout).   The
       putwchar() routine is implemented as a macro.

RETURN VALUES

       Upon  successful  completion,  fputwc(), putwc(), and putwchar() return
       wc. Otherwise, they return WEOF, the error indicator for the stream  is
       set, and errno is set to indicate the error.

ERRORS

       The fputwc(), putwc(), and putwchar() functions will fail if either the
       stream is unbuffered or data in the stream’s buffer needs to  be  writ‐
       ten, and:

       EAGAIN
             The  O_NONBLOCK  flag  is  set for the file descriptor underlying
             stream and the process would be delayed in the write operation.

       EBADF The file  descriptor  underlying  stream  is  not  a  valid  file
             descriptor open for writing.

       EFBIG An  attempt  was made to write to a file that exceeds the maximum
             file size or the process’s file size limit; or the file is a reg‐
             ular  file and an attempt was made to write at or beyond the off‐
             set maximum associated with the corresponding stream.

       EINTR The write operation was terminated due to the receipt of  a  sig‐
             nal, and no data was transferred.

       EIO   A  physical I/O error has occurred, or the process is a member of
             a background process group attempting to write to its controlling
             terminal,  TOSTOP  is  set,  the  process is neither ignoring nor
             blocking SIGTTOU,  and  the  process  group  of  the  process  is
             orphaned.

       ENOSPC
             There  was  no  free space remaining on the device containing the
             file.

       EPIPE An attempt is made to write to a pipe or FIFO that  is  not  open
             for reading by any process. A SIGPIPE signal will also be sent to
             the process.

       The fputwc(), putwc(), and putwchar() functions may fail if:

       ENOMEM
             Insufficient storage space is available.

       ENXIO A request was made of a non-existent device, or the  request  was
             outside the capabilities of the device.

       EILSEQ
             The wide-character code wc does not correspond to a valid charac‐
             ter.

USAGE

       Functions exist for the putwc() and putwchar() macros. To get the func‐
       tion form, the macro name must be undefined (for example, #undef putc).

       When the macro form is used, putwc() evaluates the stream argument more
       than  once. In particular, putwc(wc, *f++) does not work sensibly.  The
       fputwc() function should be used instead  when  evaluating  the  stream
       argument has side effects.

ATTRIBUTES

       See attributes(5) for descriptions of the following attributes:


       +-----------------------------+-----------------------------+
       |      ATTRIBUTE TYPE         |      ATTRIBUTE VALUE        |
       |MT-Level                     |MT-Safe                      |
       +-----------------------------+-----------------------------+

SEE ALSO

       exit(2),  ulimit(2),  abort(3C),  fclose(3C),  ferror(3C),  fflush(3C),
       fopen(3C), setbuf(3C), attributes(5)



SunOS 5.9                         3 Feb 1998                        fputwc(3C)

COMMENTS

Add your comment here. Whitespace and linebreaks are preserved. URLs are linked automatically.
CAPTCHA

No HTML allowed. URLs will be linked with nofollow attribute. Whitespace is preserved.