The fopen
function returns the address of an object of type FILE
. You use this address as the stream
argument to several library
functions to perform various operations on an open file. For a byte stream, all input takes place as if each character is
read by calling fgetc
, and all output takes place as if each character is written by calling fputc
. For a wide stream
(with Amendment 1), all input takes place as if each character is read by calling fgetwc
, and all output takes place as if
each character is written by calling fputwc
.
You can close a file by calling fclose
, after which the address of the FILE
object is invalid.
A FILE
object stores the state of a stream, including:
Do not alter any value stored in a FILE
object or in a file buffer that you specify for use with that object. You cannot
copy a FILE
object and portably use the address of the copy as a stream
argument to a library function.