<?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[eof wird nicht erkannt]]></title><description><![CDATA[<p>Hallo zusammen.</p>
<p>Im Moment schreibe ich ein kleines Programm welches geometrische Elemente einliest.</p>
<pre><code class="language-cpp">ofstream fileout;			// Dateiausgabe
ifstream filein;			// Dateieingabe

CFlaeche *pflaeche[anzahl] , *temp;	// Hilfsobjekte

							// Datei oeffnen
filein.open(&quot;C:\\Dokumente und Einstellungen\\Tosch.TOSCH-HQTX0QQU5\\Desktop\\geometrie.txt&quot;);

if(!filein.fail())			// ueberpruefen ob oeffnen erfolgreich
{
	do
	{
		filein &gt;&gt; c;
		switch(c)
		{
		case 'R':		// Rechteck
			cout &lt;&lt; &quot;lese Rechteck...&quot; &lt;&lt; endl;
			pflaeche[counter] = new CRechteck;
			pflaeche[counter]-&gt;feinlesen(filein);
			counter++;
			break;

		case 'Q':		// Quadrat
			cout &lt;&lt; &quot;lese Quadrat...&quot; &lt;&lt; endl;
			pflaeche[counter] = new CQuadrat;
			pflaeche[counter]-&gt;feinlesen(filein);
			counter++;
			break;

		case 'K':		// Kreis
			cout &lt;&lt; &quot;lese Kreis...&quot; &lt;&lt; endl;
			pflaeche[counter] = new CKreis;
			pflaeche[counter]-&gt;feinlesen(filein);
			counter++;
			break;

		default:
			break;
		}

	}while(!filein.eof());	// durchlauf bis dateiende	
}
filein.close();
</code></pre>
<p>Die Textdatei welche ausgelesen werden soll sieht für Quadrate folgendermaßen aus. Q 16 16 2/3 6/3 6/7 2/7<br />
Und die dazugehörige Funktionen lauten.<br />
zum Speichern</p>
<pre><code class="language-cpp">void CQuadrat::save(ofstream o)
{
	ofstream out = o;
	out &lt;&lt; &quot;Q&quot; 
		&lt;&lt; &quot; &quot;
		&lt;&lt; flaeche
		&lt;&lt; &quot; &quot;
		&lt;&lt; umfang
		&lt;&lt; &quot; &quot;
		&lt;&lt; koordinaten[0].x &lt;&lt; &quot;/&quot; &lt;&lt; koordinaten[0].y
		&lt;&lt; &quot; &quot;
		&lt;&lt; koordinaten[1].x &lt;&lt; &quot;/&quot; &lt;&lt; koordinaten[1].y
		&lt;&lt; &quot; &quot;
		&lt;&lt; koordinaten[2].x &lt;&lt; &quot;/&quot; &lt;&lt; koordinaten[2].y
		&lt;&lt; &quot; &quot;
		&lt;&lt; koordinaten[3].x &lt;&lt; &quot;/&quot; &lt;&lt; koordinaten[3].y
	    &lt;&lt; endl;
}

und zum einlesen.

void CQuadrat::feinlesen(ifstream i)
{
	ifstream ein = i;
	ein &gt;&gt; flaeche		
		&gt;&gt; umfang
		&gt;&gt; koordinaten[0].x &gt;&gt; koordinaten[0].y
		&gt;&gt; koordinaten[1].x &gt;&gt; koordinaten[1].y
		&gt;&gt; koordinaten[2].x &gt;&gt; koordinaten[2].y
		&gt;&gt; koordinaten[3].x &gt;&gt; koordinaten[3].y;

}
</code></pre>
<p>Vielleicht kann mir jmd bei dem folgendem Problem helfen! Nachdem ich ein Objekt eines Quadrates erstelle, und das Programm ausführe werden zwei Objekte des Quadrates eingelesen obwohl nur eines erstellt wurde.<br />
Ich denke das das Ende der Datei beim ersten Durchlauf nicht erkannt und ein ernueter Schleifendurchgang erfolgt.<br />
Hat jmd vielleicht eine Idee wie ich das Problem lösen könnte? Danke schon im vorraus.</p>
<p>Gruß Stefan</p>
<p>//Edit: [ b ] =&gt; [ cpp ]</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/169404/eof-wird-nicht-erkannt</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 17:38:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/169404.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 04 Jan 2007 22:54:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to eof wird nicht erkannt on Fri, 05 Jan 2007 08:04:07 GMT]]></title><description><![CDATA[<p>Hallo zusammen.</p>
<p>Im Moment schreibe ich ein kleines Programm welches geometrische Elemente einliest.</p>
<pre><code class="language-cpp">ofstream fileout;			// Dateiausgabe
ifstream filein;			// Dateieingabe

CFlaeche *pflaeche[anzahl] , *temp;	// Hilfsobjekte

							// Datei oeffnen
filein.open(&quot;C:\\Dokumente und Einstellungen\\Tosch.TOSCH-HQTX0QQU5\\Desktop\\geometrie.txt&quot;);

if(!filein.fail())			// ueberpruefen ob oeffnen erfolgreich
{
	do
	{
		filein &gt;&gt; c;
		switch(c)
		{
		case 'R':		// Rechteck
			cout &lt;&lt; &quot;lese Rechteck...&quot; &lt;&lt; endl;
			pflaeche[counter] = new CRechteck;
			pflaeche[counter]-&gt;feinlesen(filein);
			counter++;
			break;

		case 'Q':		// Quadrat
			cout &lt;&lt; &quot;lese Quadrat...&quot; &lt;&lt; endl;
			pflaeche[counter] = new CQuadrat;
			pflaeche[counter]-&gt;feinlesen(filein);
			counter++;
			break;

		case 'K':		// Kreis
			cout &lt;&lt; &quot;lese Kreis...&quot; &lt;&lt; endl;
			pflaeche[counter] = new CKreis;
			pflaeche[counter]-&gt;feinlesen(filein);
			counter++;
			break;

		default:
			break;
		}

	}while(!filein.eof());	// durchlauf bis dateiende	
}
filein.close();
</code></pre>
<p>Die Textdatei welche ausgelesen werden soll sieht für Quadrate folgendermaßen aus. Q 16 16 2/3 6/3 6/7 2/7<br />
Und die dazugehörige Funktionen lauten.<br />
zum Speichern</p>
<pre><code class="language-cpp">void CQuadrat::save(ofstream o)
{
	ofstream out = o;
	out &lt;&lt; &quot;Q&quot; 
		&lt;&lt; &quot; &quot;
		&lt;&lt; flaeche
		&lt;&lt; &quot; &quot;
		&lt;&lt; umfang
		&lt;&lt; &quot; &quot;
		&lt;&lt; koordinaten[0].x &lt;&lt; &quot;/&quot; &lt;&lt; koordinaten[0].y
		&lt;&lt; &quot; &quot;
		&lt;&lt; koordinaten[1].x &lt;&lt; &quot;/&quot; &lt;&lt; koordinaten[1].y
		&lt;&lt; &quot; &quot;
		&lt;&lt; koordinaten[2].x &lt;&lt; &quot;/&quot; &lt;&lt; koordinaten[2].y
		&lt;&lt; &quot; &quot;
		&lt;&lt; koordinaten[3].x &lt;&lt; &quot;/&quot; &lt;&lt; koordinaten[3].y
	    &lt;&lt; endl;
}

und zum einlesen.

void CQuadrat::feinlesen(ifstream i)
{
	ifstream ein = i;
	ein &gt;&gt; flaeche		
		&gt;&gt; umfang
		&gt;&gt; koordinaten[0].x &gt;&gt; koordinaten[0].y
		&gt;&gt; koordinaten[1].x &gt;&gt; koordinaten[1].y
		&gt;&gt; koordinaten[2].x &gt;&gt; koordinaten[2].y
		&gt;&gt; koordinaten[3].x &gt;&gt; koordinaten[3].y;

}
</code></pre>
<p>Vielleicht kann mir jmd bei dem folgendem Problem helfen! Nachdem ich ein Objekt eines Quadrates erstelle, und das Programm ausführe werden zwei Objekte des Quadrates eingelesen obwohl nur eines erstellt wurde.<br />
Ich denke das das Ende der Datei beim ersten Durchlauf nicht erkannt und ein ernueter Schleifendurchgang erfolgt.<br />
Hat jmd vielleicht eine Idee wie ich das Problem lösen könnte? Danke schon im vorraus.</p>
<p>Gruß Stefan</p>
<p>//Edit: [ b ] =&gt; [ cpp ]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1203172</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1203172</guid><dc:creator><![CDATA[se-tosch]]></dc:creator><pubDate>Fri, 05 Jan 2007 08:04:07 GMT</pubDate></item><item><title><![CDATA[Reply to eof wird nicht erkannt on Thu, 04 Jan 2007 23:12:09 GMT]]></title><description><![CDATA[<p>Was machst du mit dem / das in der Datei steht?</p>
<p>Vielleicht trennst du die Werte einfach mit einem Leerzeichen, dann musst du deine Laderoutine nichtmal ändern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1203179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1203179</guid><dc:creator><![CDATA[lolz]]></dc:creator><pubDate>Thu, 04 Jan 2007 23:12:09 GMT</pubDate></item><item><title><![CDATA[Reply to eof wird nicht erkannt on Thu, 04 Jan 2007 23:26:06 GMT]]></title><description><![CDATA[<p>Leider ändert sich auch mit dem entfernen des Trennzeichen nichts. Das Dateiende wird immer noch nicht korrekt erkannt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1203185</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1203185</guid><dc:creator><![CDATA[se-tosch]]></dc:creator><pubDate>Thu, 04 Jan 2007 23:26:06 GMT</pubDate></item><item><title><![CDATA[Reply to eof wird nicht erkannt on Fri, 05 Jan 2007 00:26:08 GMT]]></title><description><![CDATA[<p>Du sollst es auch nicht entfernen sondern korrigieren.</p>
<p>Ich erklärs dir mal:</p>
<pre><code class="language-cpp">void CQuadrat::feinlesen(ifstream i)
{
ifstream ein = i;
ein &gt;&gt; flaeche //zustand gut, da das leerzeichen ignoriert wird und die erste Zahl ausgelesen wird
&gt;&gt; umfang //Leerzeichen wird ignoriert und Zahl ausgelesen
&gt;&gt; koordinaten[0].x /* Leerzeichen ignoriert Zahl auslesen */
&gt;&gt; koordinaten[0].y /* Beim Versuch eine Zahl auszulesen stößt der Stream auf das / und versetzt den Stream in einen Fehlerzustand, diese und alle nachfolgenden Aktionen schlagen fehl */
&gt;&gt; koordinaten[1].x &gt;&gt; koordinaten[1].y
&gt;&gt; koordinaten[2].x &gt;&gt; koordinaten[2].y
&gt;&gt; koordinaten[3].x &gt;&gt; koordinaten[3].y;

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1203203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1203203</guid><dc:creator><![CDATA[lolz]]></dc:creator><pubDate>Fri, 05 Jan 2007 00:26:08 GMT</pubDate></item><item><title><![CDATA[Reply to eof wird nicht erkannt on Fri, 05 Jan 2007 07:09:30 GMT]]></title><description><![CDATA[<p>Das selbe Problem hatten wir doch gestern schon mal - guckst du <a href="http://c-plusplus.net/forum/viewtopic-var-t-is-169322.html" rel="nofollow">hier</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1203253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1203253</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 05 Jan 2007 07:09:30 GMT</pubDate></item><item><title><![CDATA[Reply to eof wird nicht erkannt on Fri, 05 Jan 2007 16:18:19 GMT]]></title><description><![CDATA[<p>Danke für eure Hilfe. Habs hinbekommen.</p>
<p>Grüße Stefan[cpp]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1203740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1203740</guid><dc:creator><![CDATA[se-tosch]]></dc:creator><pubDate>Fri, 05 Jan 2007 16:18:19 GMT</pubDate></item></channel></rss>