328 lines
7.8 KiB
TeX
328 lines
7.8 KiB
TeX
@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 @var{reent} is a pointer to a reentrancy
|
|
structure.
|
|
|
|
@menu
|
|
* Function clearerr:: Clear file or stream error indicator
|
|
* Function diprintf:: Print to a file descriptor (integer only)
|
|
* Function dprintf:: Print to a file descriptor
|
|
* Function fclose:: Close a file
|
|
* Function fcloseall:: Close all files
|
|
* Function fdopen:: Turn an open file into a stream
|
|
* Function feof:: Test for end of file
|
|
* Function ferror:: Test whether read/write error has occurred
|
|
* Function fflush:: Flush buffered file output
|
|
* Function fgetc:: Get a character from a file or stream
|
|
* Function fgetpos:: Record position in a stream or file
|
|
* Function fgets:: Get character string from a file or stream
|
|
* Function fgetwc:: Get a wide character from a file or stream
|
|
* Function fgetws:: Get a wide character string from a file or stream
|
|
* Function fileno:: Get file descriptor associated with stream
|
|
* Function fmemopen:: Open a stream around a fixed-length buffer
|
|
* Function fopen:: Open a file
|
|
* Function fopencookie:: Open a stream with custom callbacks
|
|
* Function fpurge:: Discard all pending I/O on a stream
|
|
* Function fputc:: Write a character on a stream or file
|
|
* Function fputs:: Write a character string in a file or stream
|
|
* Function fputwc:: Write a wide character to a file or stream
|
|
* Function fputws:: Write a wide character string to a file or stream
|
|
* Function fread:: Read array elements from a file
|
|
* Function freopen:: Open a file using an existing file descriptor
|
|
* Function fseek:: Set file position
|
|
* Function __fsetlocking:: Set or query locking mode on FILE stream
|
|
* Function fsetpos:: Restore position of a stream or file
|
|
* Function ftell:: Return position in a stream or file
|
|
* Function funopen:: Open a stream with custom callbacks
|
|
* Function fwide:: Set and determine the orientation of a FILE stream
|
|
* Function fwrite:: Write array elements from memory to a file or stream
|
|
* Function getc:: Get a character from a file or stream (macro)
|
|
* Function getc_unlocked:: Get a character from a file or stream (macro)
|
|
* Function getchar:: Get a character from standard input (macro)
|
|
* Function getchar_unlocked:: Get a character from standard input (macro)
|
|
* Function getdelim:: Get character string from a file or stream
|
|
* Function getline:: Get character string from a file or stream
|
|
* Function gets:: Get character string from standard input (obsolete)
|
|
* Function getw:: Get a word (int) from a file or stream
|
|
* Function getwchar:: Get a wide character from standard input
|
|
* Function mktemp:: Generate unused file name
|
|
* Function open_memstream:: Open a write stream around an arbitrary-length buffer
|
|
* Function perror:: Print an error message on standard error
|
|
* Function putc:: Write a character on a stream or file (macro)
|
|
* Function putc_unlocked:: Write a character on a stream or file (macro)
|
|
* Function putchar:: Write a character on standard output (macro)
|
|
* Function putchar_unlocked:: Write a character on standard output (macro)
|
|
* Function puts:: Write a character string on standard output
|
|
* Function putw:: Write a word (int) to a file or stream
|
|
* Function putwchar:: Write a wide character to standard output
|
|
* Function remove:: Delete a file's name
|
|
* Function rename:: Rename a file
|
|
* Function rewind:: Reinitialize a file or stream
|
|
* Function setbuf:: Specify full buffering for a file or stream
|
|
* Function setbuffer:: Specify full buffering for a file or stream with size
|
|
* Function setlinebuf:: Specify line buffering for a file or stream
|
|
* Function setvbuf:: Specify buffering for a file or stream
|
|
* Function siprintf:: Write formatted output (integer only)
|
|
* Function siscanf:: Scan and format input (integer only)
|
|
* Function sprintf:: Write formatted output
|
|
* Function sscanf:: Scan and format input
|
|
* Function stdio_ext:: Access internals of FILE structure
|
|
* Function swprintf:: Write formatted wide character output
|
|
* Function swscanf:: Scan and format wide character input
|
|
* Function tmpfile:: Create a temporary file
|
|
* Function tmpnam:: Generate name for a temporary file
|
|
* Function ungetc:: Push data back into a stream
|
|
* Function ungetwc:: Push wide character data back into a stream
|
|
* Function vfprintf:: Format variable argument list
|
|
* Function vfscanf:: Scan variable argument list
|
|
* Function vfwprintf:: Format variable wide character argument list
|
|
* Function vfwscanf:: Scan and format argument list from wide character input
|
|
* Function viprintf:: Format variable argument list (integer only)
|
|
* Function viscanf:: Scan variable format list (integer only)
|
|
@end menu
|
|
|
|
@page
|
|
@include stdio/clearerr.def
|
|
|
|
@page
|
|
@include stdio/diprintf.def
|
|
|
|
@page
|
|
@include stdio/dprintf.def
|
|
|
|
@page
|
|
@include stdio/fclose.def
|
|
|
|
@page
|
|
@include stdio/fcloseall.def
|
|
|
|
@page
|
|
@include stdio/fdopen.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/fgetwc.def
|
|
|
|
@page
|
|
@include stdio/fgetws.def
|
|
|
|
@page
|
|
@include stdio/fileno.def
|
|
|
|
@page
|
|
@include stdio/fmemopen.def
|
|
|
|
@page
|
|
@include stdio/fopen.def
|
|
|
|
@page
|
|
@include stdio/fopencookie.def
|
|
|
|
@page
|
|
@include stdio/fpurge.def
|
|
|
|
@page
|
|
@include stdio/fputc.def
|
|
|
|
@page
|
|
@include stdio/fputs.def
|
|
|
|
@page
|
|
@include stdio/fputwc.def
|
|
|
|
@page
|
|
@include stdio/fputws.def
|
|
|
|
@page
|
|
@include stdio/fread.def
|
|
|
|
@page
|
|
@include stdio/freopen.def
|
|
|
|
@page
|
|
@include stdio/fseek.def
|
|
|
|
@page
|
|
@include stdio/fsetlocking.def
|
|
|
|
@page
|
|
@include stdio/fsetpos.def
|
|
|
|
@page
|
|
@include stdio/ftell.def
|
|
|
|
@page
|
|
@include stdio/funopen.def
|
|
|
|
@page
|
|
@include stdio/fwide.def
|
|
|
|
@page
|
|
@include stdio/fwrite.def
|
|
|
|
@page
|
|
@include stdio/getc.def
|
|
|
|
@page
|
|
@include stdio/getc_u.def
|
|
|
|
@page
|
|
@include stdio/getchar.def
|
|
|
|
@page
|
|
@include stdio/getchar_u.def
|
|
|
|
@page
|
|
@include stdio/getdelim.def
|
|
|
|
@page
|
|
@include stdio/getline.def
|
|
|
|
@page
|
|
@include stdio/gets.def
|
|
|
|
@page
|
|
@include stdio/getw.def
|
|
|
|
@page
|
|
@include stdio/getwchar.def
|
|
|
|
@page
|
|
@include stdio/mktemp.def
|
|
|
|
@page
|
|
@include stdio/open_memstream.def
|
|
|
|
@page
|
|
@include stdio/perror.def
|
|
|
|
@page
|
|
@include stdio/putc.def
|
|
|
|
@page
|
|
@include stdio/putc_u.def
|
|
|
|
@page
|
|
@include stdio/putchar.def
|
|
|
|
@page
|
|
@include stdio/putchar_u.def
|
|
|
|
@page
|
|
@include stdio/puts.def
|
|
|
|
@page
|
|
@include stdio/putw.def
|
|
|
|
@page
|
|
@include stdio/putwchar.def
|
|
|
|
@page
|
|
@include stdio/remove.def
|
|
|
|
@page
|
|
@include stdio/rename.def
|
|
|
|
@page
|
|
@include stdio/rewind.def
|
|
|
|
@page
|
|
@include stdio/setbuf.def
|
|
|
|
@page
|
|
@include stdio/setbuffer.def
|
|
|
|
@page
|
|
@include stdio/setlinebuf.def
|
|
|
|
@page
|
|
@include stdio/setvbuf.def
|
|
|
|
@page
|
|
@include stdio/siprintf.def
|
|
|
|
@page
|
|
@include stdio/siscanf.def
|
|
|
|
@page
|
|
@include stdio/sprintf.def
|
|
|
|
@page
|
|
@include stdio/sscanf.def
|
|
|
|
@page
|
|
@include stdio/stdio_ext.def
|
|
|
|
@page
|
|
@include stdio/swprintf.def
|
|
|
|
@page
|
|
@include stdio/swscanf.def
|
|
|
|
@page
|
|
@include stdio/tmpfile.def
|
|
|
|
@page
|
|
@include stdio/tmpnam.def
|
|
|
|
@page
|
|
@include stdio/ungetc.def
|
|
|
|
@page
|
|
@include stdio/ungetwc.def
|
|
|
|
@page
|
|
@include stdio/vfprintf.def
|
|
|
|
@page
|
|
@include stdio/vfscanf.def
|
|
|
|
@page
|
|
@include stdio/vfwprintf.def
|
|
|
|
@page
|
|
@include stdio/vfwscanf.def
|
|
|
|
@page
|
|
@include stdio/viprintf.def
|
|
|
|
@page
|
|
@include stdio/viscanf.def
|