<?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[Zeilenzahl einer Datei&#x2F;streams ermitteln]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich würd gerne die Zeilenzahl eines Streams ermitteln, damit ich eine &quot;Fortschrittsanzeige&quot; machen kann wie weit die Bearbeitung gerade ist. Kleiner Democode:</p>
<pre><code class="language-cpp">int main(){
  ifstream input(&quot;eineDatei.txt&quot;);
  int lineCount = getLineCount(input);
  string line;
  int progress = 0;  

  while(!input.eof()){ 
     line = getline(input, temp);

     cout &lt;&lt; &quot;Bearbeite Zeile: &quot; &lt;&lt; line &lt;&lt; &quot; / &quot; &lt;&lt; lineCount &lt;&lt; endl;
     //führe operationen aus

}

int getLineCount(istream &amp;istr){
int i;string temp;
while(!istr.eof()){
  getline(istr,temp);
  i++;
}
return i;
}
</code></pre>
<p>Das Problem ist dass der Stream nach Aufruf der Methode &quot;ungültig&quot; ist weil ich den wohl bis zum Ende gelaufen bin. Auch ein istr.seekp(0,ios::beg) am Ende der Methode bewirkt leider nichts <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Irgendwelche Ratschläge ??</p>
<p>P.S: Den Code hab ich eben aus dem Kopf zusammengeschrieben, also falls das irgendwas syntaktisch nicht ok ist, einfach drüber hinwegsehen..hab das Original nicht hier</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/137567/zeilenzahl-einer-datei-streams-ermitteln</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 18:39:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/137567.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 18 Feb 2006 16:54:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeilenzahl einer Datei&#x2F;streams ermitteln on Sat, 18 Feb 2006 16:54:29 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich würd gerne die Zeilenzahl eines Streams ermitteln, damit ich eine &quot;Fortschrittsanzeige&quot; machen kann wie weit die Bearbeitung gerade ist. Kleiner Democode:</p>
<pre><code class="language-cpp">int main(){
  ifstream input(&quot;eineDatei.txt&quot;);
  int lineCount = getLineCount(input);
  string line;
  int progress = 0;  

  while(!input.eof()){ 
     line = getline(input, temp);

     cout &lt;&lt; &quot;Bearbeite Zeile: &quot; &lt;&lt; line &lt;&lt; &quot; / &quot; &lt;&lt; lineCount &lt;&lt; endl;
     //führe operationen aus

}

int getLineCount(istream &amp;istr){
int i;string temp;
while(!istr.eof()){
  getline(istr,temp);
  i++;
}
return i;
}
</code></pre>
<p>Das Problem ist dass der Stream nach Aufruf der Methode &quot;ungültig&quot; ist weil ich den wohl bis zum Ende gelaufen bin. Auch ein istr.seekp(0,ios::beg) am Ende der Methode bewirkt leider nichts <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Irgendwelche Ratschläge ??</p>
<p>P.S: Den Code hab ich eben aus dem Kopf zusammengeschrieben, also falls das irgendwas syntaktisch nicht ok ist, einfach drüber hinwegsehen..hab das Original nicht hier</p>
]]></description><link>https://www.c-plusplus.net/forum/post/997352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/997352</guid><dc:creator><![CDATA[Sticki]]></dc:creator><pubDate>Sat, 18 Feb 2006 16:54:29 GMT</pubDate></item><item><title><![CDATA[Reply to Zeilenzahl einer Datei&#x2F;streams ermitteln on Sat, 18 Feb 2006 17:11:05 GMT]]></title><description><![CDATA[<p>Der Stream ist ungültig, weil noch das eof-Flag gesetzt ist.<br />
Das kannst du mit der Methode <em>clear</em> entfernen.<br />
Dann musst du natürlich noch mit <em>seekg</em> wieder an den Anfang gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/997367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/997367</guid><dc:creator><![CDATA[michba]]></dc:creator><pubDate>Sat, 18 Feb 2006 17:11:05 GMT</pubDate></item><item><title><![CDATA[Reply to Zeilenzahl einer Datei&#x2F;streams ermitteln on Sat, 18 Feb 2006 17:16:07 GMT]]></title><description><![CDATA[<p><a href="http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&amp;faq=eof#Answ" rel="nofollow">Ein wenig zum lesen zu diesem Thema.</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/997370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/997370</guid><dc:creator><![CDATA[C Newbie]]></dc:creator><pubDate>Sat, 18 Feb 2006 17:16:07 GMT</pubDate></item><item><title><![CDATA[Reply to Zeilenzahl einer Datei&#x2F;streams ermitteln on Sat, 18 Feb 2006 17:48:06 GMT]]></title><description><![CDATA[<p>ok. werde es gleich mal ausprobieren ..kleine frage noch..ist das ermitteln der zeilenzahl mit getline() effizient ? oder gibts dafür ne funktion die &quot;besser&quot; geeignet ist ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/997396</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/997396</guid><dc:creator><![CDATA[Sticki]]></dc:creator><pubDate>Sat, 18 Feb 2006 17:48:06 GMT</pubDate></item><item><title><![CDATA[Reply to Zeilenzahl einer Datei&#x2F;streams ermitteln on Sat, 18 Feb 2006 18:09:07 GMT]]></title><description><![CDATA[<p>Da Zeilen keine festen Datensätze sondern dynamische Gebilde sind, gibt es garkeine &quot;effiziente&quot; Lösung für dieses Problem. Ich denke mal die einzige Optimierung die man hier noch großartig anbringen könnte wäre, die einzelnen Zeilen nicht herumzukopieren sondern nur die Zeilenende-Zeichen zu zählen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/997421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/997421</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Sat, 18 Feb 2006 18:09:07 GMT</pubDate></item><item><title><![CDATA[Reply to Zeilenzahl einer Datei&#x2F;streams ermitteln on Sat, 18 Feb 2006 18:11:29 GMT]]></title><description><![CDATA[<p>Effizient ist es imho auf keinen Fall, da bei jedem Aufruf tatsächlich kopiert wird und du quasi dasselbe nochmal machst. Vielleicht wäre es sinniger, von der Zeichen- anstatt der Zeilenanzahl auszugehen. Diese hast du nämlich über Dateigrößenabfragen o.ä. deutlich leichter zur Verfügung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/997428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/997428</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Sat, 18 Feb 2006 18:11:29 GMT</pubDate></item></channel></rss>