@node Stdio
@chapter Input and Output (@file{stdio.h}) 

This chapter comprises functions to manage files
or other input/output streams. Among these functions are subroutines
to generate or scan strings according to specifications from a format string. 

The underlying facilities for input and output depend on the host
system, but these functions provide a uniform interface.

The corresponding declarations are in @file{stdio.h}.

The reentrant versions of these functions use macros

@example
_stdin_r(@var{reent})
_stdout_r(@var{reent})
_stderr_r(@var{reent})
@end example

@noindent
instead of the globals @code{stdin}, @code{stdout}, and
@code{stderr}.  The argument <[reent]> is a pointer to a reentrancy
structure.
 
@menu  
* clearerr::    Clear file or stream error indicator
* fclose::      Close a file
* feof::        Test for end of file
* ferror::      Test whether read/write error has occurred
* fflush::      Flush buffered file output
* fgetc::       Get a character from a file or stream
* fgetpos::     Record position in a stream or file
* fgets::       Get character string from a file or stream
* fiprintf::    Write formatted output to file (integer only)
* fopen::       Open a file
* fdopen::	Turn an open file into a stream
* fputc::       Write a character on a stream or file
* fputs::       Write a character string in a file or stream
* fread::       Read array elements from a file
* freopen::     Open a file using an existing file descriptor
* fseek::       Set file position
* fsetpos::     Restore position of a stream or file
* ftell::       Return position in a stream or file
* fwrite::      Write array elements from memory to a file or stream
* getc::        Get a character from a file or stream (macro)
* getchar::     Get a character from standard input (macro)
* gets::        Get character string from standard input (obsolete)
* iprintf::     Write formatted output (integer only)
* mktemp::      Generate unused file name
* perror::      Print an error message on standard error
* putc::        Write a character on a stream or file (macro)
* putchar::     Write a character on standard output (macro)
* puts::        Write a character string on standard output
* remove::      Delete a file's name
* rename::      Rename a file
* rewind::      Reinitialize a file or stream
* setbuf::      Specify full buffering for a file or stream
* setvbuf::     Specify buffering for a file or stream
* siprintf::    Write formatted output (integer only)
* printf::      Write formatted output
* scanf::       Scan and format input
* tmpfile::     Create a temporary file
* tmpnam::      Generate name for a temporary file
* vprintf::     Format variable argument list
@end menu 

@page
@include stdio/clearerr.def

@page
@include stdio/fclose.def

@page
@include stdio/feof.def

@page
@include stdio/ferror.def

@page
@include stdio/fflush.def

@page 
@include stdio/fgetc.def 

@page
@include stdio/fgetpos.def

@page 
@include stdio/fgets.def 

@page
@include stdio/fiprintf.def

@page
@include stdio/fopen.def

@page
@include stdio/fdopen.def

@page
@include stdio/fputc.def

@page
@include stdio/fputs.def

@page
@include stdio/fread.def

@page
@include stdio/freopen.def

@page
@include stdio/fseek.def

@page
@include stdio/fsetpos.def

@page
@include stdio/ftell.def

@page
@include stdio/fwrite.def

@page 
@include stdio/getc.def 

@page
@include stdio/getchar.def 

@page 
@include stdio/gets.def

@page
@include stdio/iprintf.def 

@page
@include stdio/mktemp.def

@page
@include stdio/perror.def

@page
@include stdio/putc.def

@page
@include stdio/putchar.def

@page
@include stdio/puts.def

@page
@include stdio/remove.def

@page
@include stdio/rename.def

@page
@include stdio/rewind.def

@page
@include stdio/setbuf.def

@page
@include stdio/setvbuf.def

@page 
@include stdio/siprintf.def 

@page 
@include stdio/sprintf.def 

@page
@include stdio/sscanf.def 

@page
@include stdio/tmpfile.def

@page
@include stdio/tmpnam.def

@page 
@include stdio/vfprintf.def 
