<?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[feof()]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich lese eine Datei aus komplett aus, um die Daten darin zu verarbeiten. Leider stürzt er nach dem Auslesen der Datei ab, obwohl ich mit feof versuche, dies zu verhindern:</p>
<pre><code class="language-cpp">double Auswertung::maxDauer(FILE* senden, FILE* empfangen)
{
	char buffer[16], buffer2[16];
	char *wert_1 = fgets(buffer, 16, senden);

	if(strcmp(wert_1, &quot;Fehler&quot;) != 0)	
	{
		char *wert_2 = fgets(buffer2, 16, empfangen);
		double wert1 = atof(wert_1);
		double wert2 = atof(wert_2);

		double dauer = wert2-wert1;
		if(dauer &gt; max_dauer)
		{
			max_dauer = dauer;
		}

	}

	if(feof(senden))
	{
		AfxMessageBox(&quot;Fertig!&quot;);
		return max_dauer;
	}

	maxDauer(senden, empfangen);

	return 0;
}
</code></pre>
<p>HOffentlich hat jemand von Euch den Adlerblick und kann mir helfen...</p>
<p>Gruß Jörg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/179985/feof</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 12:21:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/179985.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 27 Apr 2007 10:44:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to feof() on Fri, 27 Apr 2007 10:44:06 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich lese eine Datei aus komplett aus, um die Daten darin zu verarbeiten. Leider stürzt er nach dem Auslesen der Datei ab, obwohl ich mit feof versuche, dies zu verhindern:</p>
<pre><code class="language-cpp">double Auswertung::maxDauer(FILE* senden, FILE* empfangen)
{
	char buffer[16], buffer2[16];
	char *wert_1 = fgets(buffer, 16, senden);

	if(strcmp(wert_1, &quot;Fehler&quot;) != 0)	
	{
		char *wert_2 = fgets(buffer2, 16, empfangen);
		double wert1 = atof(wert_1);
		double wert2 = atof(wert_2);

		double dauer = wert2-wert1;
		if(dauer &gt; max_dauer)
		{
			max_dauer = dauer;
		}

	}

	if(feof(senden))
	{
		AfxMessageBox(&quot;Fertig!&quot;);
		return max_dauer;
	}

	maxDauer(senden, empfangen);

	return 0;
}
</code></pre>
<p>HOffentlich hat jemand von Euch den Adlerblick und kann mir helfen...</p>
<p>Gruß Jörg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274482</guid><dc:creator><![CDATA[joergh]]></dc:creator><pubDate>Fri, 27 Apr 2007 10:44:06 GMT</pubDate></item><item><title><![CDATA[Reply to feof() on Fri, 27 Apr 2007 10:47:35 GMT]]></title><description><![CDATA[<p>EDIT: War quatsch, sorry...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274485</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274485</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 27 Apr 2007 10:47:35 GMT</pubDate></item><item><title><![CDATA[Reply to feof() on Fri, 27 Apr 2007 10:55:43 GMT]]></title><description><![CDATA[<p>Erstens solltest du vielleicht die richtige Datei auf EOF überprüfen (Lesefehler in 'empfangen' können schnell zu Problemen führen).</p>
<p>Zweitens schlägt feof() erst zu, wenn bereits der letzt Lesevorgang bereits gescheitert ist - da arbeitest du auf ungültigen Daten (*nachsieht* fgets() liefert NULL beim EOF).</p>
<p>Drittens kannst du die Rekursion komplett weglassen und stattdessen eine Schleife verwenden.</p>
<p>PS: Und viertens empfehle ich einen Umstieg auf fstream;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1274495</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274495</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 27 Apr 2007 10:55:43 GMT</pubDate></item><item><title><![CDATA[Reply to feof() on Fri, 27 Apr 2007 20:48:25 GMT]]></title><description><![CDATA[<p>Oder das Verschieben ins C-Forum <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1274868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1274868</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 27 Apr 2007 20:48:25 GMT</pubDate></item><item><title><![CDATA[Reply to feof() on Sat, 28 Apr 2007 09:38:14 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>Oder das Verschieben ins C-Forum <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>
</blockquote>
<p>Hm, ich sehe hier:</p>
<pre><code class="language-cpp">double Auswertung::maxDauer(FILE* senden, FILE* empfangen)
</code></pre>
<p>und das sieht mir nicht nach C aus. Mal ehrlich, die Verwendung von Funktionen aus der C Standardbibliothek macht noch kein C-Programm und ist in manchen Fällen durchaus berechtigt. Kein Grund immer gleich so zu tun, als ob sich C Funktionen und C++ ausschließen würden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275024</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Sat, 28 Apr 2007 09:38:14 GMT</pubDate></item><item><title><![CDATA[Reply to feof() on Sat, 28 Apr 2007 09:42:31 GMT]]></title><description><![CDATA[<p>Hmm stimmt schon aber es spricht in diesem Fall nichts dagegen die C++ Funktionenn zu nutzen und bsw. den Vergleichsoperator von std::string zu nutzen.</p>
<p>Den Funktionskopf hatte ich allerdings übersehen ... sorry.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1275028</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1275028</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sat, 28 Apr 2007 09:42:31 GMT</pubDate></item></channel></rss>