<?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[fstream - schreibt nicht &#x2F; lässt sich nicht lesen]]></title><description><![CDATA[<p>Hallo zusammen.</p>
<p>Hab ein Problem mit folgendem code:</p>
<pre><code class="language-cpp">fstream	flField;

flField.open(&quot;field.cfg&quot;, fstream::in); //try opening file for reading
if( !flField.is_open() )  // if its not there -&gt;
{
	flField.open(&quot;field.cfg&quot;, fstream::trunc | fstream::out); // create it for writing and
	// line below worked with ofstream but not with fstream
	flField &lt;&lt; &quot;size (400,300)&quot; &lt;&lt; endl &lt;&lt; &quot;bot (200,150)&quot; &lt;&lt; endl &lt;&lt; &quot;wall (0,0)(50,0)(50,50)(0,50)&quot; &lt;&lt; endl; // write example

	flField.close(); // close it and
	flField.open(&quot;field.cfg&quot;, fstream::in); // reopen it for reading
}

// line below is false if file has just been created via ofstream (see above)
while(flField.good())
</code></pre>
<p>Danke im Voraus.</p>
<p>Gruß hase</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/232350/fstream-schreibt-nicht-lässt-sich-nicht-lesen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 09:26:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/232350.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 21 Jan 2009 19:38:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to fstream - schreibt nicht &#x2F; lässt sich nicht lesen on Wed, 21 Jan 2009 19:38:58 GMT]]></title><description><![CDATA[<p>Hallo zusammen.</p>
<p>Hab ein Problem mit folgendem code:</p>
<pre><code class="language-cpp">fstream	flField;

flField.open(&quot;field.cfg&quot;, fstream::in); //try opening file for reading
if( !flField.is_open() )  // if its not there -&gt;
{
	flField.open(&quot;field.cfg&quot;, fstream::trunc | fstream::out); // create it for writing and
	// line below worked with ofstream but not with fstream
	flField &lt;&lt; &quot;size (400,300)&quot; &lt;&lt; endl &lt;&lt; &quot;bot (200,150)&quot; &lt;&lt; endl &lt;&lt; &quot;wall (0,0)(50,0)(50,50)(0,50)&quot; &lt;&lt; endl; // write example

	flField.close(); // close it and
	flField.open(&quot;field.cfg&quot;, fstream::in); // reopen it for reading
}

// line below is false if file has just been created via ofstream (see above)
while(flField.good())
</code></pre>
<p>Danke im Voraus.</p>
<p>Gruß hase</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1649816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1649816</guid><dc:creator><![CDATA[Has3]]></dc:creator><pubDate>Wed, 21 Jan 2009 19:38:58 GMT</pubDate></item><item><title><![CDATA[Reply to fstream - schreibt nicht &#x2F; lässt sich nicht lesen on Wed, 21 Jan 2009 19:51:31 GMT]]></title><description><![CDATA[<p>Has3 schrieb:</p>
<blockquote>
<p>Hallo zusammen.</p>
<p>Hab ein Problem mit folgendem code:</p>
<pre><code class="language-cpp">fstream	flField;
 
flField.open(&quot;field.cfg&quot;, fstream::in); //probier hier mal ios::in oder verwende gleich std::ifstream
if( !flField.is_open() )  // if its not there -&gt;
{
	flField.open(&quot;field.cfg&quot;, fstream::trunc | fstream::out); // create it for writing and
	// line below worked with ofstream but not with fstream
	flField &lt;&lt; &quot;size (400,300)&quot; &lt;&lt; endl &lt;&lt; &quot;bot (200,150)&quot; &lt;&lt; endl &lt;&lt; &quot;wall (0,0)(50,0)(50,50)(0,50)&quot; &lt;&lt; endl; // write example
 
	flField.close(); // close it and
	flField.open(&quot;field.cfg&quot;, fstream::in); // reopen it for reading
}
 
// line below is false if file has just been created via ofstream (see above)
while(flField.good())
</code></pre>
<p>Danke im Voraus.</p>
<p>Gruß hase</p>
</blockquote>
<p>Siehe Kommentar im Text.</p>
<pre><code class="language-cpp">while(flField.good())
</code></pre>
<p>Was soll das denn werden? Nachdem du die datei geschrieben hast, schließt du sie, hast du je gemacht. Dann öffnest du sie und musst natürlich auch einen Container haben oder Datentypen wo du es reinlesen kannst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1649827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1649827</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Wed, 21 Jan 2009 19:51:31 GMT</pubDate></item><item><title><![CDATA[Reply to fstream - schreibt nicht &#x2F; lässt sich nicht lesen on Wed, 21 Jan 2009 21:54:52 GMT]]></title><description><![CDATA[<p>Firefighter schrieb:</p>
<blockquote>
<p>Siehe Kommentar im Text.</p>
</blockquote>
<p>äh... ja. die Kommentare sind von mir...</p>
<pre><code class="language-cpp">flField.open(&quot;field.cfg&quot;, fstream::trunc | fstream::out);
</code></pre>
<p>ich dachte fstream kann sowohl daten einlesen(in) als auch schreiben(out).<br />
Hier will ich eine Datei anlegen(trunc) und so öffnen, dass ich was rein schreiben kann.</p>
<p>Firefighter schrieb:</p>
<blockquote>
<pre><code class="language-cpp">while(flField.good())
</code></pre>
<p>Was soll das denn werden?</p>
</blockquote>
<p>Ich dachte es wäre klar, dass da ne Schleife kommt, mit der ich was aus der File lese und nach deren Durchlauf ich prüfe, ob ich noch weiter daraus lesen kann(eof/fail/bad).</p>
<p>Firefighter schrieb:</p>
<blockquote>
<p>Nachdem du die datei geschrieben hast, schließt du sie, hast du je gemacht.</p>
</blockquote>
<p>raff ich net...<br />
achsooo... ja ich öffne sie zuerst zum schreiben(out), schließe sie dann wieder, um sie danach zum lesen(in) zu öffnen.<br />
Dachte ich hätte das als Kommentare dazu geschrieben.</p>
<p>Firefighter schrieb:</p>
<blockquote>
<p>Dann öffnest du sie und musst natürlich auch einen Container haben oder Datentypen wo du es reinlesen kannst.</p>
</blockquote>
<p>ich glaub das hab ich oben geklärt.</p>
<p>Nur wegen meinem Namen und der geringen Anzahl Posts bin ich kein c++ Neuling...<br />
sorry für die zynische Art aber eigentlich dachte ich, ich hätte alles gut genug dargestellt. falls nicht wie gesagt sorry.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1649891</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1649891</guid><dc:creator><![CDATA[Has3]]></dc:creator><pubDate>Wed, 21 Jan 2009 21:54:52 GMT</pubDate></item><item><title><![CDATA[Reply to fstream - schreibt nicht &#x2F; lässt sich nicht lesen on Wed, 21 Jan 2009 22:11:34 GMT]]></title><description><![CDATA[<p>mh ich weis nicht obs so auch klappt<br />
normal schreibt man beim öffnen doch folgendes</p>
<pre><code class="language-cpp">f.open(NAME, _ios_::in | ios::out | ios::trunc);
</code></pre>
<p>wobei sich einlesen und neu erstellen wieder spricht...<br />
also in und out geht aber in und trunc glaub ich nicht...</p>
<p>und naja normal geht man die datei dann per eof schleife durch</p>
<pre><code class="language-cpp">while ( !f.eof() ) { }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1649903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1649903</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Wed, 21 Jan 2009 22:11:34 GMT</pubDate></item><item><title><![CDATA[Reply to fstream - schreibt nicht &#x2F; lässt sich nicht lesen on Thu, 22 Jan 2009 06:19:00 GMT]]></title><description><![CDATA[<p>So ein kleiner Workarround:D Eventuell hast du meinen einen Kommentar in dem Codeabschnitt überlesen ist auch egal. Grundsätzlich ist gesagt, zum lesen verwendet man <code>std::ifstream</code> und zum schreiben <code>std::ofstream</code></p>
<p>Das mit dem schreiben der Datei sieht ja schon ganz gut aus, aber das lesen noch nicht so ganz,hier ein Beispiel.</p>
<pre><code class="language-cpp">#include&lt;fstream&gt;
#include&lt;vector&gt;

int main()
{
   std::ifstream datei(&quot;test.txt&quot;);//beim Lesen muss das ios::in Flag nicht explizit angegeben werden
   std::string aus_datei;
   std::vector&lt;std::string&gt; daten_vec;

   while(getline(datei,aus_datei))//hier wird Zeilenweise gelesen
   {
      daten_vec.push_back(aus_datei);//und hier werden die gelesenen Zeilen in einen vector gepackt
   } 
  return 0;
}
</code></pre>
<p>Ich weiß nicht ob es das ist was du willst, aber das ist einfaches Beispiel um eine Datei Zeilenweiße einzulesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1649961</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1649961</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Thu, 22 Jan 2009 06:19:00 GMT</pubDate></item><item><title><![CDATA[Reply to fstream - schreibt nicht &#x2F; lässt sich nicht lesen on Thu, 22 Jan 2009 06:19:56 GMT]]></title><description><![CDATA[<p>Skym0sh0 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">while ( !f.eof() ) { }
</code></pre>
</blockquote>
<p>Kann man machen, man hat dann aber das Problem das am Ende der Datei das LEtzte was drinne steht, 2mal ausgelesen wird <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1649962</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1649962</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Thu, 22 Jan 2009 06:19:56 GMT</pubDate></item><item><title><![CDATA[Reply to fstream - schreibt nicht &#x2F; lässt sich nicht lesen on Thu, 22 Jan 2009 10:56:49 GMT]]></title><description><![CDATA[<p>Danke fürs schreiben. war gestern etwas gestress. sorry.</p>
<pre><code class="language-cpp">ifstream	flField;
	ofstream	flNew;

	flField.open(&quot;field.cfg&quot;);
	if( !flField.is_open() )
	{
		flNew.open(&quot;field.cfg&quot;); // Datei anlegen und schreiben
		flNew &lt;&lt; &quot;size (400,300)&quot; &lt;&lt; endl &lt;&lt; &quot;bot (200,150)&quot; &lt;&lt; endl &lt;&lt; &quot;wall (0,0)(50,0)(50,50)(0,50)&quot; &lt;&lt; endl;
		flNew.close();

		flField.open(&quot;field.cfg&quot;);
		flField.is_open(); // is true
	}
	flField.eof(); // false
	flField.bad(); // false
	flField.fail(); // false wenn datei schon vorhanden war - true wenn garade erstellt
</code></pre>
<p>hier geht das schreiben, jedoch kann ich die Datei danach nicht einlesen( failbit ist in dem Fall gesetzt ).<br />
Beende ich das Programm und starte es dann wieder mit vorhandener field.cfg geht es...</p>
<p><a href="http://www.cplusplus.com/reference/" rel="nofollow">http://www.cplusplus.com/reference/</a> schrieb:</p>
<blockquote>
<p>failbit is generally set by an input operation when the error was related with the internal logic of the operation itself</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1650084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1650084</guid><dc:creator><![CDATA[Has3]]></dc:creator><pubDate>Thu, 22 Jan 2009 10:56:49 GMT</pubDate></item><item><title><![CDATA[Reply to fstream - schreibt nicht &#x2F; lässt sich nicht lesen on Thu, 22 Jan 2009 15:10:47 GMT]]></title><description><![CDATA[<p>Versuch mal den Stream nach dem schreiben zu clearen &quot;stream.clear();&quot; und dann nochmal zu lesen.Was mich aber sehr stark wundert, das du mit einem ifstream schreibst und aber nirgends liest. Der compiler müsste eigentlich einen Fehler melden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1650294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1650294</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Thu, 22 Jan 2009 15:10:47 GMT</pubDate></item><item><title><![CDATA[Reply to fstream - schreibt nicht &#x2F; lässt sich nicht lesen on Thu, 22 Jan 2009 18:15:46 GMT]]></title><description><![CDATA[<p>Firefighter schrieb:</p>
<blockquote>
<p>Versuch mal den Stream nach dem schreiben zu clearen &quot;stream.clear();&quot; und dann nochmal zu lesen.</p>
</blockquote>
<p><strong>Das wars! Danke!</strong></p>
<pre><code class="language-cpp">ifstream    ifsField;
    ofstream    ofsNew;

    ifsField.open(&quot;field.cfg&quot;);
    if( !ifsField.is_open() )
    {
        ofsNew.open(&quot;field.cfg&quot;); // Datei anlegen und schreiben
        ofsNew&lt;&lt; &quot;size (400,300)&quot; &lt;&lt; endl &lt;&lt; &quot;bot (200,150)&quot; &lt;&lt; endl &lt;&lt; &quot;wall (0,0)(50,0)(50,50)(0,50)&quot; &lt;&lt; endl;
        ofsNew.close();

        ifsField.clear(); // &lt;--- !!! clear errorflags
        ifsField.open(&quot;field.cfg&quot;);
        ifsField.is_open(); // true

        ifsField.eof(); // false
        ifsField.bad(); // false
        ifsField.fail(); // false (true wenn nicht clear() aufgerufen wurde !)
    }
</code></pre>
<p>Hab erwartet open() setzt die bits automatisch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
<p>jetzt weis ich was mit</p>
<p>#c++ schrieb:</p>
<blockquote>
<p>fstreams behaviour is weird</p>
</blockquote>
<p>gemeint ist xD</p>
<p>Firefighter schrieb:</p>
<blockquote>
<p>Was mich aber sehr stark wundert, das du mit einem ifstream schreibst und aber nirgends liest. Der compiler müsste eigentlich einen Fehler melden.</p>
</blockquote>
<p>ich schreib mit ofstream und lese mit ifstream später. hab die Variablen jetzt treffender benannt.</p>
<p>jetzt funktioniert das auch mit fstream <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> :</p>
<pre><code class="language-cpp">fstream    fsField;

	fsField.open(&quot;field.cfg&quot;, fsField.in); //try opening file for reading
	if( !fsField.is_open() )  // if its not there -&gt;
	{
		fsField.clear(); // &lt;--- !!! clear errorflags
		fsField.open(&quot;field.cfg&quot;, fsField.trunc | fsField.out); // create it for writing and
		fsField &lt;&lt; &quot;size (400,300)&quot; &lt;&lt; endl &lt;&lt; &quot;bot (200,150)&quot; &lt;&lt; endl &lt;&lt; &quot;wall (0,0)(50,0)(50,50)(0,50)&quot; &lt;&lt; endl; // write example
		fsField.close(); // close it and
		fsField.open(&quot;field.cfg&quot;, fsField.in); // reopen it for reading
		fsField.good(); // true :D
	}
</code></pre>
<p>Dankeschön <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1650433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1650433</guid><dc:creator><![CDATA[Has3]]></dc:creator><pubDate>Thu, 22 Jan 2009 18:15:46 GMT</pubDate></item></channel></rss>