66 lines
2.6 KiB
Groff
66 lines
2.6 KiB
Groff
|
|
NAME
|
|
putc, putchar, fputc, putw - put character or word on a
|
|
stream
|
|
SYNTAX
|
|
#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
|
|
argument to a function.
|
|
Putw writes the word (i.e., integer) w to the output stream
|
|
(at the position at which 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 by default buffered if the output refers
|
|
to a file and line-buffered if the output refers to a
|
|
terminal. The standard error output stream stderr is by
|
|
default unbuffered, but use of freopen [see fopen(3S)] will
|
|
cause it to become buffered or line-buffered. When an
|
|
output 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 it 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 character is written or terminal input is
|
|
|
|
requested). Setbuf(3S) or Setbuf(3S) may be used to change
|
|
the stream's buffering strategy.
|
|
SEE ALSO
|
|
fclose(3S), ferror(3S), fopen(3S), fread(3S), printf(3S),
|
|
puts(3S), setbuf(3S).
|
|
DIAGNOSTICS
|
|
On success, putc, fputc, and putchar each return the value
|
|
they have written. On failure, they return the constant
|
|
EOF. This will occur if the file stream is not open for
|
|
writing or if the output file cannot be grown. Putw returns
|
|
nonzero when an error has occured, otherwise zero.
|
|
BUGS
|
|
Because it is implemented as a macro, putc treats
|
|
incorrectly a stream argument with side effects. In
|
|
particular, putc(c, *f++); doesn't work sensibly. Fputc
|
|
should be used instead.
|
|
Because of possible differences in word length and byte
|
|
ordering, files written using putw are machine-dependent,
|
|
and may not be read using getw on a different processor.
|
|
|