<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Datei lässt sich beim zweiten Mal nicht mehr öffnen]]></title><description><![CDATA[<p>Nachdem ich die Datei das erste Mal geöffnet habe, lässt sie sich nach dem schließen nicht nochmal öffnen. Hab ich irgendeinen Fehler gemacht ?</p>
<p>#include &quot;Person.h&quot;<br />
#include &lt;iostream&gt;<br />
#include &lt;fstream&gt;<br />
#include &lt;string&gt;<br />
using namespace std;</p>
<p>int main()<br />
{<br />
fstream out, in;<br />
ios::openmode mode2 = ios::in | ios::out | ios::trunc | ios::binary;<br />
ios::openmode mode = ios::in | ios::out | ios::app | ios::binary;<br />
int wahl;<br />
int anz = 0;</p>
<p>Person Anstalt[5];<br />
out.open(&quot;hahn5&quot;,mode);<br />
if( !out) {cout &lt;&lt; &quot;schon hier nicht&quot; &lt;&lt; endl;}<br />
for(int i = 0; ; ++i)<br />
{<br />
out.read((char*)&amp;Anstalt[i], sizeof (Person));<br />
out.seekg(sizeof (Person), ios::cur);<br />
++anz;<br />
if( out.eof())<br />
break;<br />
}<br />
out.close();</p>
<p>out.open(&quot;hahn5&quot;,mode);<br />
if( !out) {cout &lt;&lt; &quot;schon hier nicht2&quot; &lt;&lt; endl;}<br />
out.close();</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/272596/datei-lässt-sich-beim-zweiten-mal-nicht-mehr-öffnen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 21:14:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/272596.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 20 Aug 2010 17:13:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datei lässt sich beim zweiten Mal nicht mehr öffnen on Fri, 20 Aug 2010 17:13:36 GMT]]></title><description><![CDATA[<p>Nachdem ich die Datei das erste Mal geöffnet habe, lässt sie sich nach dem schließen nicht nochmal öffnen. Hab ich irgendeinen Fehler gemacht ?</p>
<p>#include &quot;Person.h&quot;<br />
#include &lt;iostream&gt;<br />
#include &lt;fstream&gt;<br />
#include &lt;string&gt;<br />
using namespace std;</p>
<p>int main()<br />
{<br />
fstream out, in;<br />
ios::openmode mode2 = ios::in | ios::out | ios::trunc | ios::binary;<br />
ios::openmode mode = ios::in | ios::out | ios::app | ios::binary;<br />
int wahl;<br />
int anz = 0;</p>
<p>Person Anstalt[5];<br />
out.open(&quot;hahn5&quot;,mode);<br />
if( !out) {cout &lt;&lt; &quot;schon hier nicht&quot; &lt;&lt; endl;}<br />
for(int i = 0; ; ++i)<br />
{<br />
out.read((char*)&amp;Anstalt[i], sizeof (Person));<br />
out.seekg(sizeof (Person), ios::cur);<br />
++anz;<br />
if( out.eof())<br />
break;<br />
}<br />
out.close();</p>
<p>out.open(&quot;hahn5&quot;,mode);<br />
if( !out) {cout &lt;&lt; &quot;schon hier nicht2&quot; &lt;&lt; endl;}<br />
out.close();</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1942504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1942504</guid><dc:creator><![CDATA[Fert4]]></dc:creator><pubDate>Fri, 20 Aug 2010 17:13:36 GMT</pubDate></item><item><title><![CDATA[Reply to Datei lässt sich beim zweiten Mal nicht mehr öffnen on Fri, 20 Aug 2010 17:33:30 GMT]]></title><description><![CDATA[<p>Ja dieser Fehler ist nicht so einfach auf Anhieb zu begreifen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Dein Stream ist in einem ungültigen Zustand (nach dem eof) und dieses Flag bleibt auch nach dem Schließen (und Neuöffnen) so.<br />
Zum Löschen der Flags dann einfach zusätzlich noch &quot;clear()&quot; aufrufen:</p>
<pre><code class="language-cpp">out.close();
out.clear();

out.open(&quot;hahn5&quot;,mode);
</code></pre>
<p>Oder aber einen neuen Stream anlegen:</p>
<pre><code class="language-cpp">fstream out2(&quot;...&quot;, mode);
</code></pre>
<p>Du solltest übrigens auch deine ersten Stream erst dann konstruieren, wenn du ihn brauchst (wir sind hier nicht bei C, wo man zuerst alle Variablen deklarieren muß!).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1942509</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1942509</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Fri, 20 Aug 2010 17:33:30 GMT</pubDate></item><item><title><![CDATA[Reply to Datei lässt sich beim zweiten Mal nicht mehr öffnen on Fri, 20 Aug 2010 19:58:38 GMT]]></title><description><![CDATA[<p>Th69 schrieb:</p>
<blockquote>
<p>Du solltest übrigens auch deine ersten Stream erst dann konstruieren, wenn du ihn brauchst (wir sind hier nicht bei C, wo man zuerst alle Variablen deklarieren muß!).</p>
</blockquote>
<p>Macht man auch dort nicht. Zumindestens nicht beim C99.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1942546</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1942546</guid><dc:creator><![CDATA[tja, falsch]]></dc:creator><pubDate>Fri, 20 Aug 2010 19:58:38 GMT</pubDate></item><item><title><![CDATA[Reply to Datei lässt sich beim zweiten Mal nicht mehr öffnen on Fri, 20 Aug 2010 21:05:49 GMT]]></title><description><![CDATA[<p>Danke für die schnelle Hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1942566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1942566</guid><dc:creator><![CDATA[Fert4]]></dc:creator><pubDate>Fri, 20 Aug 2010 21:05:49 GMT</pubDate></item></channel></rss>