2.9BSD/usr/man/cat3/putc.3s
PUTC(3S) UNIX Programmer's Manual PUTC(3S)
NAME
putc, putchar, fputc, putw - put character or word on a
stream
SYNOPSIS
#include <stdio.h>
int putc(c, stream)
char c;
FILE *stream;
putchar(c)
fputc(c, stream)
FILE *stream;
putw(w, stream)
FILE *stream;
DESCRIPTION
_P_u_t_c appends the character _c to the named output _s_t_r_e_a_m. It
returns the character written.
_P_u_t_c_h_a_r(_c) is defined as _p_u_t_c(_c, _s_t_d_o_u_t).
_F_p_u_t_c behaves like _p_u_t_c, but is a genuine function rather
than a macro. It may be used to save on object text.
_P_u_t_w appends word (i.e. int) _w to the output _s_t_r_e_a_m. It
returns the word written. _P_u_t_w neither assumes nor causes
special alignment in the file.
The standard stream _s_t_d_o_u_t is normally buffered if and only
if the output does not refer to a terminal; this default may
be changed by _s_e_t_b_u_f(3S). The standard stream _s_t_d_e_r_r is by
default unbuffered unconditionally, but use of _f_r_e_o_p_e_n (see
_f_o_p_e_n(3S)) will cause it to become buffered; _s_e_t_b_u_f, again,
will set the state to whatever is desired. When an output
stream is unbuffered information appears on the destination
file or terminal as soon as written; when it is buffered
many characters are saved up and written as a block. _F_f_l_u_s_h
(see _f_c_l_o_s_e(3S)) may be used to force the block out early.
SEE ALSO
fclose(3S), fopen(3S), fread(3S), getc(3S), printf(3S),
puts(3S)
DIAGNOSTICS
These functions return the constant EOF upon error. Since
this is a good integer, _f_e_r_r_o_r(3S) should be used to detect
_p_u_t_w errors.
Printed 5/17/83 1
PUTC(3S) UNIX Programmer's Manual PUTC(3S)
BUGS
Because it is implemented as a macro, _p_u_t_c treats a _s_t_r_e_a_m
argument with side effects improperly. In particular
`putc(c, *f++);' doesn't work sensibly.
Printed 5/17/83 2