PUTC(3S)                                                 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
          Putc appends the character c to the named output stream. It
          returns the character written.

          Putchar(c) is defined as putc(c, stdout).

          Fputc behaves like putc, but is a genuine function rather
          than a macro.  It may be used to save on object text.

          Putw appends word (i.e.  int) w to the output stream. It
          returns the word written.  Putw neither assumes nor causes
          special alignment in the file.

          The standard stream stdout is normally buffered if and only
          if the output does not refer to a terminal, in which case
          buffering occurs only within calls to printf(3). This
          default may be changed by setbuf(3). The standard stream
          stderr is normally unbuffered; freopen (see fopen(3)) will
          cause it to become buffered.  When an output stream is
          unbuffered information appears on the destination file or
          terminal as soon as written; when it is buffered many char-
          acters are saved up and written as a block.  Fflush (see
          fclose(3)) may be used to force the block out early.

     SEE ALSO
          fopen(3), fclose(3), getc(3), puts(3), printf(3), fread(3)

     DIAGNOSTICS
          These functions return the constant EOF upon error.  In the
          case of putw this indication is ambiguous; ferror(3) may be
          used to distinguish.

     PUTC(3S)                                                 PUTC(3S)

     BUGS
          Because it is implemented as a macro, putc treats a stream
          argument with side effects improperly.  In particular
          `putc(c, *f++)' doesn't work sensibly.
          Errors can occur long after the call to putc.