Syntax | #include <wchar.h> Optional #include <stdio.h> (End) wint_t fputwc(wint_t wc, FILE *stream); |
Description | fputwc() 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 then 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 when writing the character, the shift state of the output file is left in an undefined state.
The structure components st_ctime and st_mtime of the file are marked for changing between successful execution of fputwc() and the next successful completion of a call to
fflush() or fclose() for the same data stream or a call to exit() or abort() (see
sys/stat.h ). Restriction This version of the C runtime system only supports 1-byte characters as wide character codes. They are of type wchar_t (see stddef.h ). (End) |
Return val. | wc WEOF
| upon successful completion. if an error occurs. The error indicator for the stream is set, and errno is set to indicate the error. |
Errors | fputwc() will fail if either the stream is unbuffered or data in the stream's buffer needs to be written, 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 the stream is not a valid file descriptor open for a write operation. |
| EFBIG
| An attempt was made to write to a file that exceeds the maximum file size or the process file size limit (see ulimit() ). |
| EINTR
| The write operation was terminated due to the receipt of a signal, and no data was transferred. |
| Extension |
| EINVAL
| An attempt was made to access a BS2000 file. (End) |
| EIO
| 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. If threads are used, then the function affects the process or a thread in the following manner: If an EPIPE error occurs, the SIGPIPE signal is not sent to the process, but is sent to the calling thread instead. |
See also | ferror() , fopen() , setbuf() , stdio.h , sys/stat.h , wchar.h .
|