NAME
fputc, putc,
putchar, putc_unlocked,
putchar_unlocked, putw
— output a character or word to
a stream
SYNOPSIS
#include
<stdio.h>
int
fputc(int
c, FILE
*stream);
int
putc(int
c, FILE
*stream);
int
putchar(int
c);
int
putc_unlocked(int
c, FILE
*stream);
int
putchar_unlocked(int
c);
int
putw(int
w, FILE
*stream);
DESCRIPTION
The
fputc()
function writes the character c (converted to an
unsigned char) to the output stream pointed to by
stream.
putc()
acts essentially identically to fputc(), but is a
macro that expands in-line. It may evaluate stream
more than once, so arguments given to putc() should
not be expressions with potential side effects.
putchar()
is identical to putc() with an output stream of
stdout.
The
putc_unlocked()
and
putchar_unlocked()
functions perform the same action, but do not obtain the stream lock. They
require that the stream first be locked with
flockfile(3) for thread safe operation.
The
putw()
function writes the specified int
w to the named output
stream.
RETURN VALUES
The functions fputc(),
putc(), and putchar() return
the character written. If an error occurs, the value
EOF is returned and the global variable
errno is set to indicate the error. The
putw() function returns 0 on success;
EOF is returned if a write error occurs, or if an
attempt is made to write a read-only stream. The global variable
errno may be set to indicate the error.
ERRORS
The function putw() may also fail and set
errno for any of the errors specified for the routines
write(2) or
realloc(3).
SEE ALSO
ferror(3), flockfile(3), fopen(3), getc(3), putwc(3), stdio(3)
STANDARDS
The functions fputc(),
putc(), and putchar(),
conform to ANSI X3.159-1989
(“ANSI C89”). The
putc_unlocked() and
putchar_unlocked() functions conform to
IEEE Std 1003.1-2024 (“POSIX.1”).
HISTORY
The putc() and
putw() functions first appeared in
Version 1 AT&T UNIX;
putchar() in Version 2
AT&T UNIX; and fputc() in
Version 7 AT&T UNIX. The
putc_unlocked() and
putchar_unlocked() functions have been available
since OpenBSD 2.5.
BUGS
Since the size and byte order of an int may
vary from one machine to another, putw() is not
recommended for portable applications.