Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
fputwc(3C)		 Standard C Library Functions		    fputwc(3C)

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

       #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);

       The  fputwc()  function writes the character corresponding to the wide-
       character code wc to the	output stream pointed to by stream, at the po-
       sition  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 im-
       plemented as a macro.

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

       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.

       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 un-
		       derlying	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 regular file and an attempt was  made  to
		       write  at  or beyond the	offset maximum associated with
		       the corresponding stream.

       EINTR	       The write operation was terminated due to  the  receipt
		       of a signal, 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 con-
		       taining 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	calling	thread.

       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 re-
		       quest was outside the capabilities of the device.

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

       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 ar-
       gument has side effects.

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

       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       |Interface Stability	     |Standard			   |
       |MT-Level		     |MT-Safe			   |

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

SunOS 5.10			  1 Nov	2003			    fputwc(3C)


Want to link to this manual page? Use this URL:

home | help