Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ stdio(3s) — Atari System V ue12

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

open(2)

close(2)

lseek(2)

pipe(2)

read(2)

write(2)

ctermid(3S)

cuserid(3S)

fclose(3S)

ferror(3S)

fopen(3S)

fread(3S)

fseek(3S)

getc(3S)

gets(3S)

popen(3S)

printf(3S)

putc(3S)

puts(3S)

scanf(3S)

setbuf(3S)

system(3S)

tmpfile(3S)

tmpnam(3S)

ungetc(3S)





   stdio(3S)           (C Programming Language Utilities)            stdio(3S)


   NAME
         stdio - standard buffered input/output package

   SYNOPSIS
         #include <stdio.h>

         FILE *stdin, *stdout, *stderr;

   DESCRIPTION
         The functions described in the entries of sub-class 3S of this manual
         constitute an efficient, user-level I/O buffering scheme.  The in-
         line macros getc and putc handle characters quickly.  The macros
         getchar and putchar, and the higher-level routines fgetc, fgets,
         fprintf, fputc, fputs, fread, fscanf, fwrite, gets, getw, printf,
         puts, putw, and scanf all use or act as if they use getc and putc;
         they can be freely intermixed.

         A file with associated buffering is called a stream [see intro(3)]
         and is declared to be a pointer to a defined type FILE.  fopen
         creates certain descriptive data for a stream and returns a pointer
         to designate the stream in all further transactions.  Normally, there
         are three open streams with constant pointers declared in the
         <stdio.h> header file and associated with the standard open files:

               stdin     standard input file
               stdout    standard output file
               stderr    standard error file

         The following symbolic values in <unistd.h> define the file
         descriptors that will be associated with the C-language stdin, stdout
         and stderr when the application is started:

               STDINFILENO     Standard input value, stdin. It has the value
                                of 0.
               STDOUTFILENO    Standard output value, stdout. It has the
                                value of 1.
               STDERRFILENO    Standard error value, stderr. It has the value
                                of 2.

         A constant null designates a null pointer.

         An integer-constant EOF (-1) is returned upon end-of-file or error by
         most integer functions that deal with streams (see the individual
         descriptions for details).

         An integer constant BUFSIZ specifies the size of the buffers used by
         the particular implementation.

         An integer constant FILENAMEMAX specifies the size needed for an
         array of char large enough to hold the longest file name string that
         the implementation guarantees can be opened.


   7/91                                                                 Page 1









   stdio(3S)           (C Programming Language Utilities)            stdio(3S)


         An integer constant FOPENMAX specifies the minimum number of files
         that the implementation guarantees can be open simultaneously.  Note
         that no more than 255 files may be opened via fopen, and only file
         descriptors 0 through 255 are valid.

         Any program that uses this package must include the header file of
         pertinent macro definitions, as follows:

               #include <stdio.h>

         The functions and constants mentioned in the entries of sub-class 3S
         of this manual are declared in that header file and need no further
         declaration.  The constants and the following ``functions'' are
         implemented as macros (redeclaration of these names is perilous):
         getc, getchar, putc, putchar, ferror, feof, clearerr, and fileno.
         There are also function versions of getc, getchar, putc, putchar,
         ferror, feof, clearerr, and fileno.

         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 or setvbuf [both described in setbuf(3S)] may be
         used to change the stream's buffering strategy.

   SEE ALSO
         open(2), close(2), lseek(2), pipe(2), read(2), write(2), ctermid(3S),
         cuserid(3S), fclose(3S), ferror(3S), fopen(3S), fread(3S), fseek(3S),
         getc(3S), gets(3S), popen(3S), printf(3S), putc(3S), puts(3S),
         scanf(3S), setbuf(3S), system(3S), tmpfile(3S), tmpnam(3S),
         ungetc(3S).

   DIAGNOSTICS
         Invalid stream pointers usually cause grave disorder, possibly
         including program termination.  Individual function descriptions
         describe the possible error conditions.









   Page 2                                                                 7/91





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026