PUTC(3S) DOMAIN/IX Reference Manual (SYS5) PUTC(3S)
NAME
putc, putchar, fputc, putw - put character or word on a
stream
USAGE
#include <stdio.h>
int putc (c, stream)
int c;
FILE *stream;
int putchar (c)
int c;
int fputc (c, stream)
int c;
FILE *stream;
int putw (w, stream)
int w;
FILE *stream;
DESCRIPTION
Putc writes the character c onto the output stream (at the
position where the file pointer, if defined, is pointing).
Putchar(c) is defined as putc(c, stdout). Putc and putchar
are macros.
Fputc behaves like putc, but is a function rather than a
macro. Fputc runs more slowly than putc, but it takes less
space per invocation, and its name can be passed as an argu-
ment to a function.
Putw writes the word (i.e., integer) w to the output stream
(at the position where the file pointer, if defined, is
pointing). The size of a word is the size of an integer and
varies from machine to machine. Putw neither assumes nor
causes special alignment in the file.
Output streams, with the exception of the standard error
stream stderr, are buffered if the output refers to a file
and line-buffered if the output refers to a terminal; these
are default conditions. The standard error output stream
stderr is unbuffered by default, but using freopen (see
fopen(3S)) makes it buffered or line-buffered. When an out-
put stream is unbuffered, information is queued for writing
on the destination file or terminal as soon as written; when
it is buffered, many characters are saved up and written as
a block. When output is line-buffered, each line of output
is queued for writing on the destination terminal as soon as
the line is completed (that is, as soon as a new-line char-
acter is written or terminal input is requested).
Printed 5/10/85 PUTC-1
PUTC(3S) DOMAIN/IX Reference Manual (SYS5) PUTC(3S)
Setbuf(3S) can be used to change the stream's buffering
strategy.
NOTES
Because it is implemented as a macro, putc treats a stream
argument with side effects incorrectly. In particular,
putc(c, *f++); doesn't work as you'd expect. Use fputc
instead.
Because of possible differences in word length and byte ord-
ering, files written using putw are machine-dependent, and
may not be readable with getw on a different processor.
DIAGNOSTICS
On success, these functions return the value they have writ-
ten. On failure, they return the constant EOF. Failure
occurs if the file stream is not open for writing, or if the
output file cannot be grown. Because EOF is a valid
integer, ferror(3S) should be used to detect putw errors.
RELATED INFORMATION
fclose(3S), ferror(3S), fopen(3S), fread(3S), printf(3S),
puts(3S), setbuf(3S)
PUTC-2 Printed 5/10/85