Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

fputwc - put wide-character code on stream

&pagelevel(4)&pagelevel

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.