unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (v7man)
Page:
Section:
Apropos / Subsearch:
optional field

PUTC(3S)                                                              PUTC(3S)



NAME
       putc, putchar, fputc, putw - put character or word on a stream

SYNOPSIS
       #include <&lt;stdio.h>&gt;

       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 out-
       put does not refer to a terminal; this default may be changed  by  set-
       buf(3).   The  standard stream stderr is by default unbuffered uncondi-
       tionally, but use of freopen (see fopen(3)) will  cause  it  to  become
       buffered;  setbuf,  again,  will  set the state to whatever is desired.
       When an output stream is unbuffered information appears on the destina-
       tion  file  or  terminal  as  soon as written; when it is buffered many
       characters 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.  Since this is a
       good integer, ferror(3) should be used to detect putw errors.

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.



                                                                      PUTC(3S)