<html lang="en">
<head>
<title>Streams - The GNU C Library</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="The GNU C Library">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="I_002fO-on-Streams.html#I_002fO-on-Streams" title="I/O on Streams">
<link rel="next" href="Standard-Streams.html#Standard-Streams" title="Standard Streams">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU C library.

This is Edition 0.12, last updated 2007-10-27,
of `The GNU C Library Reference Manual', for version
2.8 (Sourcery G++ Lite 2011.03-41).

Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
2003, 2007, 2008, 2010 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software Needs Free Documentation''
and ``GNU Lesser General Public License'', the Front-Cover texts being
``A GNU Manual'', and with the Back-Cover Texts as in (a) below.  A
copy of the license is included in the section entitled "GNU Free
Documentation License".

(a) The FSF's Back-Cover Text is: ``You have the freedom to
copy and modify this GNU manual.  Buying copies from the FSF
supports it in developing GNU and promoting software freedom.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="Streams"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Standard-Streams.html#Standard-Streams">Standard Streams</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="I_002fO-on-Streams.html#I_002fO-on-Streams">I/O on Streams</a>
<hr>
</div>

<h3 class="section">12.1 Streams</h3>

<p>For historical reasons, the type of the C data structure that represents
a stream is called <code>FILE</code> rather than &ldquo;stream&rdquo;.  Since most of
the library functions deal with objects of type <code>FILE *</code>, sometimes
the term <dfn>file pointer</dfn> is also used to mean &ldquo;stream&rdquo;.  This leads
to unfortunate confusion over terminology in many books on C.  This
manual, however, is careful to use the terms &ldquo;file&rdquo; and &ldquo;stream&rdquo;
only in the technical sense. 
<a name="index-file-pointer-915"></a>
<a name="index-stdio_002eh-916"></a>The <code>FILE</code> type is declared in the header file <samp><span class="file">stdio.h</span></samp>.

<!-- stdio.h -->
<!-- ISO -->
<div class="defun">
&mdash; Data Type: <b>FILE</b><var><a name="index-FILE-917"></a></var><br>
<blockquote><p>This is the data type used to represent stream objects.  A <code>FILE</code>
object holds all of the internal state information about the connection
to the associated file, including such things as the file position
indicator and buffering information.  Each stream also has error and
end-of-file status indicators that can be tested with the <code>ferror</code>
and <code>feof</code> functions; see <a href="EOF-and-Errors.html#EOF-and-Errors">EOF and Errors</a>. 
</p></blockquote></div>

   <p><code>FILE</code> objects are allocated and managed internally by the
input/output library functions.  Don't try to create your own objects of
type <code>FILE</code>; let the library do it.  Your programs should
deal only with pointers to these objects (that is, <code>FILE *</code> values)
rather than the objects themselves. 
<!-- !!! should say that FILE's have "No user-serviceable parts inside." -->

   </body></html>

