<?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[std::getline arbeitet nur 1 mal!]]></title><description><![CDATA[<p>Hallo,</p>
<p>wenn ich die Funktion getline zwei mal hinter einander nutzten möchte, wird der zweite Aufruf ignoriert. Bsp:</p>
<pre><code>string l_str;
ifstream m_file_read;

m_file_read.open(&quot;test.csv&quot;, ios::in);

while (getline(m_file_read, l_str)){
       cout &lt;&lt; &quot;bla&quot;;
}

while (getline(m_file_read, l_str)){
       cout &lt;&lt; &quot;bla&quot;;
}
</code></pre>
<p>Ich kann mit einem Haltepunkt in der zweiten while-Schleife sehen, dass diese gar nicht aufgerufen wird. Wie man sieht, nutze ich namespace std.<br />
Woher kommt dieses?</p>
<p>Gruß Moritz</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/321179/std-getline-arbeitet-nur-1-mal</link><generator>RSS for Node</generator><lastBuildDate>Tue, 21 Jul 2026 22:02:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/321179.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 26 Oct 2013 17:27:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to std::getline arbeitet nur 1 mal! on Sat, 26 Oct 2013 17:27:00 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>wenn ich die Funktion getline zwei mal hinter einander nutzten möchte, wird der zweite Aufruf ignoriert. Bsp:</p>
<pre><code>string l_str;
ifstream m_file_read;

m_file_read.open(&quot;test.csv&quot;, ios::in);

while (getline(m_file_read, l_str)){
       cout &lt;&lt; &quot;bla&quot;;
}

while (getline(m_file_read, l_str)){
       cout &lt;&lt; &quot;bla&quot;;
}
</code></pre>
<p>Ich kann mit einem Haltepunkt in der zweiten while-Schleife sehen, dass diese gar nicht aufgerufen wird. Wie man sieht, nutze ich namespace std.<br />
Woher kommt dieses?</p>
<p>Gruß Moritz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2363149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2363149</guid><dc:creator><![CDATA[m.f-g]]></dc:creator><pubDate>Sat, 26 Oct 2013 17:27:00 GMT</pubDate></item><item><title><![CDATA[Reply to std::getline arbeitet nur 1 mal! on Sat, 26 Oct 2013 17:28:58 GMT]]></title><description><![CDATA[<p>der delimitor ist noch im buffer</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2363150</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2363150</guid><dc:creator><![CDATA[asdfsdfs]]></dc:creator><pubDate>Sat, 26 Oct 2013 17:28:58 GMT</pubDate></item><item><title><![CDATA[Reply to std::getline arbeitet nur 1 mal! on Sat, 26 Oct 2013 17:31:20 GMT]]></title><description><![CDATA[<p>asdfsdfs schrieb:</p>
<blockquote>
<p>der delimitor ist noch im buffer</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=":confused:"
      alt="😕"
    /></p>
<p>Die erste Schleife ließt doch schon alles aus der Datei. Was soll die zweite Schleife noch lesen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2363151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2363151</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Sat, 26 Oct 2013 17:31:20 GMT</pubDate></item><item><title><![CDATA[Reply to std::getline arbeitet nur 1 mal! on Sat, 26 Oct 2013 17:55:29 GMT]]></title><description><![CDATA[<p>@asdfsdfs: aha, das heißt ich muss ihn anweisen, dass der stream vergisst, dass er den delim schon gelesen hat. na das werde ich sicher in einer dokumentation finden, wie das geht. aber falls du es weißt, darfst du es mir auch gerne verraten <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>Danke</p>
<p>@out: naja offensichtlich will ich nicht nur mit &quot;bla&quot; abzählen, wie viele Zeilen meine Datei hat! Das da etwas anderes drin steht, versteht sich doch!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2363159</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2363159</guid><dc:creator><![CDATA[m.f-g]]></dc:creator><pubDate>Sat, 26 Oct 2013 17:55:29 GMT</pubDate></item><item><title><![CDATA[Reply to std::getline arbeitet nur 1 mal! on Sat, 26 Oct 2013 18:05:12 GMT]]></title><description><![CDATA[<p>@asdfsdfs: ich habe jetzt auf die schnelle nichts gefunden, dass kann ja eigentlich nicht sein! mir kommt nun nur in den Sinn es mit file.close() zu machen und den dann file.open(filename, ios::in). Ist das so?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2363162</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2363162</guid><dc:creator><![CDATA[m.f-g]]></dc:creator><pubDate>Sat, 26 Oct 2013 18:05:12 GMT</pubDate></item><item><title><![CDATA[Reply to std::getline arbeitet nur 1 mal! on Sat, 26 Oct 2013 18:05:38 GMT]]></title><description><![CDATA[<p>m.f-g schrieb:</p>
<blockquote>
<p>@out: naja offensichtlich will ich nicht nur mit &quot;bla&quot; abzählen, wie viele Zeilen meine Datei hat! Das da etwas anderes drin steht, versteht sich doch!</p>
</blockquote>
<p>Was spielt es für eine Rolle. was du willst? Dateiende ist Dateiende.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2363163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2363163</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sat, 26 Oct 2013 18:05:38 GMT</pubDate></item><item><title><![CDATA[Reply to std::getline arbeitet nur 1 mal! on Sat, 26 Oct 2013 18:06:40 GMT]]></title><description><![CDATA[<p>asdfsdfs schrieb:</p>
<blockquote>
<p>der delimitor ist noch im buffer</p>
</blockquote>
<p>Nein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2363164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2363164</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sat, 26 Oct 2013 18:06:40 GMT</pubDate></item><item><title><![CDATA[Reply to std::getline arbeitet nur 1 mal! on Sat, 26 Oct 2013 18:35:47 GMT]]></title><description><![CDATA[<p>also im ersten Durchlauf muss ich einmal durch die gesamte Datei durch um den max Wert zu finden, im Zweiten lese ich alle Zeilen ein und es werden nur die Kopiert, die mind. 90% des Maxwertes groß sind(Regelungstechnik). Dafür muss ich ein mal durch und dann noch mal durch.</p>
<p>Und was ist nun die Wahrheit des delim im Buffer?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2363174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2363174</guid><dc:creator><![CDATA[m.f-g]]></dc:creator><pubDate>Sat, 26 Oct 2013 18:35:47 GMT</pubDate></item><item><title><![CDATA[Reply to std::getline arbeitet nur 1 mal! on Sat, 26 Oct 2013 19:03:01 GMT]]></title><description><![CDATA[<p>m.f-g schrieb:</p>
<blockquote>
<p>also im ersten Durchlauf muss ich einmal durch die gesamte Datei durch um den max Wert zu finden, im Zweiten lese ich alle Zeilen ein und es werden nur die Kopiert, die mind. 90% des Maxwertes groß sind(Regelungstechnik). Dafür muss ich ein mal durch und dann noch mal durch.</p>
</blockquote>
<p>Das ist nun offensichtlich etwas anderes als zwei mal getline aufrufen. Mit seekg kann man wieder auf den Dateianfang positionieren. Da du eof erreicht hast, musst du vorher den Zustand mit clear zurücksetzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2363181</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2363181</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sat, 26 Oct 2013 19:03:01 GMT</pubDate></item></channel></rss>