<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
lang="en" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
clear [C++ Reference]
</title>
<meta name="generator" content="DokuWiki Release 2009-12-25c "Lemming"" />
<meta name="robots" content="index,follow" />
<meta name="date" content="2009-07-24T16:26:24-0700" />
<meta name="keywords" content="io,clear" />
<link rel="search" type="application/opensearchdescription+xml" href="/wiki/lib/exe/opensearch.php" title="C++ Reference" />
<link rel="start" href="/wiki/" />
<link rel="contents" href="/wiki/io/clear?do=index" title="Index" />
<link rel="alternate" type="application/rss+xml" title="Recent Changes" href="/wiki/feed.php" />
<link rel="alternate" type="application/rss+xml" title="Current Namespace" href="/wiki/feed.php?mode=list&ns=io" />
<link rel="edit" title="Edit this page" href="/wiki/io/clear?do=edit" />
<link rel="alternate" type="text/html" title="Plain HTML" href="/wiki/_export/xhtml/io/clear" />
<link rel="alternate" type="text/plain" title="Wiki Markup" href="/wiki/_export/raw/io/clear" />
<link rel="canonical" href="http://www.cppreference.com/wiki/io/clear" />
<link rel="stylesheet" media="all" type="text/css" href="/wiki/lib/exe/css.php?s=all&t=custom1&tseed=1272971091" />
<link rel="stylesheet" media="screen" type="text/css" href="/wiki/lib/exe/css.php?t=custom1&tseed=1272971091" />
<link rel="stylesheet" media="print" type="text/css" href="/wiki/lib/exe/css.php?s=print&t=custom1&tseed=1272971091" />
<script type="text/javascript" charset="utf-8" ><!--//--><![CDATA[//><!--
var NS='io';var JSINFO = {"id":"io:clear","namespace":"io"};
//--><!]]></script>
<script type="text/javascript" charset="utf-8" src="/wiki/lib/exe/js.php?tseed=1272971091" ></script>
<link rel="shortcut icon" href="/wiki/lib/tpl/custom1/images/favicon.png" />
</head>
<body>
<div class="dokuwiki">
<div class="stylehead">
<div class="breadcrumbs">
<span class="bchead">You are here: </span><a href="../start.html" title="start">C++ Reference</a> » <a href="../io/start.html" title="io:start">C++ I/O</a> » <a href="../io/clear.html" title="io:clear">clear</a> </div>
</div>
<div class="page">
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-2828341-1";
urchinTracker();
</script>
<!-- wikipage start -->
<h2><a name="clear" id="clear">clear</a></h2>
<div class="level2">
<p>
Syntax:
</p>
<pre class="c code c++" style="font-family:monospace;"> <span class="kw4">void</span> stream<span class="sy0">::</span><span class="me2">clear</span><span class="br0">(</span> iostate flags <span class="sy0">=</span> ios<span class="sy0">::</span><span class="me2">goodbit</span> <span class="br0">)</span><span class="sy0">;</span></pre>
<p>
The function clear() does two things:
</p>
<ul>
<li class="level1"><div class="li"> it clears all io_stream_state_flags associated with the current stream,</div>
</li>
<li class="level1"><div class="li"> and sets the flags denoted by flags</div>
</li>
</ul>
<p>
The flags argument defaults to ios::goodbit, which means that by default, all
flags will be cleared and ios::goodbit will be set.
For example, the following code uses the clear() function to reset the flags of
an output file stream, after an attempt is made to read from that output
stream.
</p>
<p>
Example code:
</p>
<pre class="c code c++" style="font-family:monospace;"> fstream outputFile<span class="br0">(</span> <span class="st0">"output.txt"</span><span class="sy0">,</span> fstream<span class="sy0">::</span><span class="me2">out</span> <span class="br0">)</span><span class="sy0">;</span>
<span class="co1">// try to read from the output stream; this shouldn't work</span>
<span class="kw4">int</span> val<span class="sy0">;</span>
outputFile <span class="sy0">>></span> val<span class="sy0">;</span>
<span class="kw1">if</span><span class="br0">(</span> outputFile.<span class="me1">fail</span><span class="br0">(</span><span class="br0">)</span> <span class="br0">)</span> <span class="br0">{</span>
<a href="http://www.opengroup.org/onlinepubs/009695399/functions/cout.html"><span class="kw3">cout</span></a> <span class="sy0"><<</span> <span class="st0">"Error reading from the output stream"</span> <span class="sy0"><<</span> endl<span class="sy0">;</span>
<span class="co1">// reset the flags associated with the stream</span>
outputFile.<span class="me1">clear</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span>
<span class="br0">}</span>
<span class="kw1">for</span><span class="br0">(</span> <span class="kw4">int</span> i <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> i <span class="sy0"><</span> <span class="nu0">10</span><span class="sy0">;</span> i<span class="sy0">++</span> <span class="br0">)</span> <span class="br0">{</span>
outputFile <span class="sy0"><<</span> i <span class="sy0"><<</span> <span class="st0">" "</span><span class="sy0">;</span>
<span class="br0">}</span>
outputFile <span class="sy0"><<</span> endl<span class="sy0">;</span></pre>
<p>
Related Topics: <a href="../io/eof.html" class="wikilink1" title="io:eof">eof</a>, <a href="../io/fail.html" class="wikilink1" title="io:fail">fail</a>, <a href="../io/good.html" class="wikilink1" title="io:good">good</a>, <a href="../io/rdstate.html" class="wikilink1" title="io:rdstate">rdstate</a>
</p>
</div>
<!-- wikipage stop -->
</div>
<div class="clearer"> </div>
<div class="stylefoot">
<div class="meta">
<div class="user">
</div>
<!--
<div class="doc">
io/clear.txt · Last modified: 07/24/2009 16:26 by 193.2.120.9 </div>
-->
</div>
</div></div></body>
</html>