<?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[Wieso wird die Schleife 2x aufgerufen?]]></title><description><![CDATA[<p>Hallo Leute ich möchte den Inhalt einer Datei aufrufen, in der Datei steht ist nur ein Word in der ersten Zeile.</p>
<pre><code class="language-cpp">char buffer[1024];
FILE *f = fopen( argv[1], &quot;r&quot; );
int i = 0;
while( !feof( f ) )
{
	i++;
	fgets( buffer, sizeof( buffer ), f ) ;
	cout &lt;&lt; buffer &lt;&lt; &quot; i:&quot; &lt;&lt; i;
	str = buffer;

}
</code></pre>
<p>Bei diesem Code habe ich absichtlich int i eingebaut zum Test und es kommt für i=2 raus, also wieso wird die Schleife 2x mal ausgeführt?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/161260/wieso-wird-die-schleife-2x-aufgerufen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 21:41:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/161260.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 04 Oct 2006 20:39:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wieso wird die Schleife 2x aufgerufen? on Wed, 04 Oct 2006 20:39:10 GMT]]></title><description><![CDATA[<p>Hallo Leute ich möchte den Inhalt einer Datei aufrufen, in der Datei steht ist nur ein Word in der ersten Zeile.</p>
<pre><code class="language-cpp">char buffer[1024];
FILE *f = fopen( argv[1], &quot;r&quot; );
int i = 0;
while( !feof( f ) )
{
	i++;
	fgets( buffer, sizeof( buffer ), f ) ;
	cout &lt;&lt; buffer &lt;&lt; &quot; i:&quot; &lt;&lt; i;
	str = buffer;

}
</code></pre>
<p>Bei diesem Code habe ich absichtlich int i eingebaut zum Test und es kommt für i=2 raus, also wieso wird die Schleife 2x mal ausgeführt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1149536</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1149536</guid><dc:creator><![CDATA[kernel64]]></dc:creator><pubDate>Wed, 04 Oct 2006 20:39:10 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso wird die Schleife 2x aufgerufen? on Wed, 04 Oct 2006 20:45:31 GMT]]></title><description><![CDATA[<p>Beim erstem mal ließt er das Wort, beim zweiten Mal das EOF.<br />
==&gt; Das solltest du in deiner Schleife überprüfen ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1149539</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1149539</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 04 Oct 2006 20:45:31 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso wird die Schleife 2x aufgerufen? on Wed, 04 Oct 2006 20:55:07 GMT]]></title><description><![CDATA[<p>Wieso verwendest Du C-Streams? Verwende doch die C++-Funktionen und beachte den folgenden Hinweis, dann sollte alles fein funktionieren:</p>
<p><a href="http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&amp;faq=eof#Answ" rel="nofollow">http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&amp;faq=eof#Answ</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1149545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1149545</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Wed, 04 Oct 2006 20:55:07 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso wird die Schleife 2x aufgerufen? on Wed, 04 Oct 2006 21:30:12 GMT]]></title><description><![CDATA[<p>Ist das besser?</p>
<pre><code class="language-cpp">string str;
ifstream ifs(&quot;c:\\test.txt&quot;);
int n = 0;
while( !ifs.eof() )
{
	n++;
	ifs &gt;&gt; str;
	cout &lt;&lt; str &lt;&lt; &quot; &quot; &lt;&lt; n &lt;&lt; endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1149572</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1149572</guid><dc:creator><![CDATA[kernel64]]></dc:creator><pubDate>Wed, 04 Oct 2006 21:30:12 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso wird die Schleife 2x aufgerufen? on Wed, 04 Oct 2006 21:33:21 GMT]]></title><description><![CDATA[<p>kernel64 schrieb:</p>
<blockquote>
<p>Ist das besser?</p>
</blockquote>
<p>jepp es war absolut lebensnotwendig das i in n umzubenennen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1149574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1149574</guid><dc:creator><![CDATA[Krux]]></dc:creator><pubDate>Wed, 04 Oct 2006 21:33:21 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso wird die Schleife 2x aufgerufen? on Wed, 04 Oct 2006 21:35:44 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">while((ifs &gt;&gt; str) &amp;&amp; !ifs.eof())
{
   ++n;
   cout &lt;&lt; ....;
}
</code></pre>
<p>Edit-&gt;Tags vergessen <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/1149576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1149576</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 04 Oct 2006 21:35:44 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso wird die Schleife 2x aufgerufen? on Wed, 04 Oct 2006 22:04:27 GMT]]></title><description><![CDATA[<p>Mit diesem Code wird die letzte zeile nicht ausgegeben.</p>
<pre><code class="language-cpp">int n = 0;

while((ifs &gt;&gt; str) &amp;&amp; !ifs.eof())
{ 
	++n;
	cout &lt;&lt; str &lt;&lt; &quot; &quot; &lt;&lt; n &lt;&lt; endl;

}
</code></pre>
<p>In meiner Datei steht folgendes:</p>
<pre><code>info 
help
lock
lock
</code></pre>
<p>In der Konsole werden nur alle drei zeilen ausgegeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1149588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1149588</guid><dc:creator><![CDATA[kernel64]]></dc:creator><pubDate>Wed, 04 Oct 2006 22:04:27 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso wird die Schleife 2x aufgerufen? on Thu, 05 Oct 2006 08:09:14 GMT]]></title><description><![CDATA[<p>EInfach das '&amp;&amp; !ifs.eof()' weglassen, dann sollte es funktionieren:</p>
<pre><code class="language-cpp">while (ifs &gt;&gt; str)
    cout &lt;&lt; str &lt;&lt; &quot; &quot; &lt;&lt; ++n &lt;&lt; endl;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1149707</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1149707</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Thu, 05 Oct 2006 08:09:14 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso wird die Schleife 2x aufgerufen? on Thu, 05 Oct 2006 08:12:35 GMT]]></title><description><![CDATA[<p>Anscheinend steht das EOF direkt an deinem letzten Wort.<br />
Ein einfaches</p>
<pre><code class="language-cpp">while(ifs &gt;&gt; str) { ... }
</code></pre>
<p>Sollte alle Probleme lösen ...</p>
<p>Edit-&gt;ToSlow()</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1149709</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1149709</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 05 Oct 2006 08:12:35 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso wird die Schleife 2x aufgerufen? on Thu, 05 Oct 2006 17:41:22 GMT]]></title><description><![CDATA[<p>Hallo das mit dem weglassen von '&amp;&amp; !ifs.eof()' klappt prima.<br />
Noch eine Frage, wie kann ich eine ganze zeile auslesen und nicht einzelne strings</p>
<p>Beispiel:</p>
<pre><code>hallo auto test
blabla
help me
</code></pre>
<p>Also wie bekomme ich in der ersten und letzten Zeile alles aufeinmal in str gespeichert. Denn mit dem obigen Code wird jedes Word einzelnd behandelt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1150079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1150079</guid><dc:creator><![CDATA[kernel64]]></dc:creator><pubDate>Thu, 05 Oct 2006 17:41:22 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso wird die Schleife 2x aufgerufen? on Thu, 05 Oct 2006 17:59:12 GMT]]></title><description><![CDATA[<p>getline in Verbindung mit std::string ist dein Freund.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1150091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1150091</guid><dc:creator><![CDATA[lolz]]></dc:creator><pubDate>Thu, 05 Oct 2006 17:59:12 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso wird die Schleife 2x aufgerufen? on Thu, 05 Oct 2006 18:47:27 GMT]]></title><description><![CDATA[<p>getline ist für eine Benutzereingabe und nicht zum auslesen von Dateien.</p>
<p>Also ich hoffe ihr könnt mir helfen folgendes:</p>
<pre><code>hallo auto test
blabla
help me
</code></pre>
<p>so auszulesen:</p>
<p>erste zeile:</p>
<pre><code>hallo auto test
...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1150137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1150137</guid><dc:creator><![CDATA[kernel64]]></dc:creator><pubDate>Thu, 05 Oct 2006 18:47:27 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso wird die Schleife 2x aufgerufen? on Thu, 05 Oct 2006 18:57:11 GMT]]></title><description><![CDATA[<p>Ups mit getline gehts doch <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>Wenn ich folgenden Code benutze wird das erste wort nicht angezeigt;</p>
<pre><code class="language-cpp">while(ifs &gt;&gt; str)
{	
	getline(ifs,str);
	cout &lt;&lt; str &lt;&lt; endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1150144</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1150144</guid><dc:creator><![CDATA[kernel64]]></dc:creator><pubDate>Thu, 05 Oct 2006 18:57:11 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso wird die Schleife 2x aufgerufen? on Thu, 05 Oct 2006 18:59:44 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">while(ifs &gt;&gt; str)
</code></pre>
<p>Damit wird das erste Wort schon eingelesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1150146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1150146</guid><dc:creator><![CDATA[nucknuck]]></dc:creator><pubDate>Thu, 05 Oct 2006 18:59:44 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso wird die Schleife 2x aufgerufen? on Thu, 05 Oct 2006 19:09:38 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">string line;
while( getline( ifs, line ) )
{
    cout &lt;&lt; line &lt;&lt; &quot;\n&quot;;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1150156</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1150156</guid><dc:creator><![CDATA[lolz]]></dc:creator><pubDate>Thu, 05 Oct 2006 19:09:38 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso wird die Schleife 2x aufgerufen? on Sun, 08 Oct 2006 15:49:53 GMT]]></title><description><![CDATA[<p>Das geht mit 'stream.getline'.</p>
<p>Edit: upps da war ja noch eine seite ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1151496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1151496</guid><dc:creator><![CDATA[Binarys]]></dc:creator><pubDate>Sun, 08 Oct 2006 15:49:53 GMT</pubDate></item></channel></rss>