<html lang="en">
<head>
<title>I/O Concepts - 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-Overview.html#I_002fO-Overview" title="I/O Overview">
<link rel="next" href="File-Names.html#File-Names" title="File Names">
<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="I%2fO-Concepts"></a>
<a name="I_002fO-Concepts"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="File-Names.html#File-Names">File Names</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="I_002fO-Overview.html#I_002fO-Overview">I/O Overview</a>
<hr>
</div>

<h3 class="section">11.1 Input/Output Concepts</h3>

<p>Before you can read or write the contents of a file, you must establish
a connection or communications channel to the file.  This process is
called <dfn>opening</dfn> the file.  You can open a file for reading, writing,
or both. 
<a name="index-opening-a-file-898"></a>
The connection to an open file is represented either as a stream or as a
file descriptor.  You pass this as an argument to the functions that do
the actual read or write operations, to tell them which file to operate
on.  Certain functions expect streams, and others are designed to
operate on file descriptors.

   <p>When you have finished reading to or writing from the file, you can
terminate the connection by <dfn>closing</dfn> the file.  Once you have
closed a stream or file descriptor, you cannot do any more input or
output operations on it.

<ul class="menu">
<li><a accesskey="1" href="Streams-and-File-Descriptors.html#Streams-and-File-Descriptors">Streams and File Descriptors</a>:     The GNU Library provides two ways
			             to access the contents of files. 
<li><a accesskey="2" href="File-Position.html#File-Position">File Position</a>:                    The number of bytes from the
                                     beginning of the file. 
</ul>

   </body></html>

