<?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[gefüllten Vector leeren mittels .clear()]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>mein kleines Programm liest derzeit eine TXT-Datei ein und soll bestimmte<br />
Zeilen wiederholt ausgeben:</p>
<pre><code class="language-cpp">vector&lt;string&gt; lines;

		if (( z = strstr( Zeile, &quot; START:&quot; )) != NULL)
		{	if ((z = strstr( Zeile, &quot; ENDE:&quot; )) != NULL)
			{}else{	zaehler=1;

			      }
		}
		if (( z = strstr( Zeile, &quot; ENDE:&quot; )) != NULL)
		{	if ((z = strstr( Zeile, &quot; START:&quot; )) != NULL)
			{}else{	zaehler=0;
					}
		}
		if (zaehler==1 )
		{	if (( z = strstr( Zeile, &quot; START:&quot; )) != NULL)
			{}else{ lines.push_back(Zeile); 
					hochzaehler++;}
		}
		if( strstr(Zeile,&quot;WIEDERHOLE&quot;) &amp;&amp; strstr(Zeile,&quot; START&quot;))
		{	
			for(i=0; i &lt; hochzaehler; i++)
			{fprintf(fpOut,&quot;%s&quot;, lines.at(i).c_str());}	

		}
</code></pre>
<p>Die funktioniert soweit, sprich aus diesem Input:</p>
<blockquote>
<p>1<br />
2<br />
3<br />
START:<br />
4<br />
5<br />
6<br />
ENDE:<br />
7<br />
8<br />
WIEDERHOLE START<br />
9<br />
10<br />
11</p>
</blockquote>
<p>kommt folgender Output:</p>
<blockquote>
<p>1<br />
2<br />
3<br />
START:<br />
4<br />
5<br />
6<br />
ENDE:<br />
7<br />
8<br />
WIEDERHOLE START<br />
4<br />
5<br />
6<br />
9<br />
10<br />
11</p>
</blockquote>
<p>Bei einem zweiten Vorkommen von &quot;START:&quot; und &quot;ENDE:&quot;, hängt er jedoch nur die Zeilen an den Vektor an.</p>
<p>Wollte ihn jetzt wie folgt löschen:</p>
<pre><code class="language-cpp">vector&lt;string&gt; lines;

		if (( z = strstr( Zeile, &quot; START:&quot; )) != NULL)
		{	if ((z = strstr( Zeile, &quot; ENDE:&quot; )) != NULL)
			{}else{	zaehler=1;
					lines.clear();			//Löschen der gespeicherten Elemente
			      }
		}
		if (( z = strstr( Zeile, &quot; ENDE:&quot; )) != NULL)
		{	if ((z = strstr( Zeile, &quot; START:&quot; )) != NULL)
			{}else{	zaehler=0;
					}
		}
		if (zaehler==1 )
		{	if (( z = strstr( Zeile, &quot; START:&quot; )) != NULL)
			{}else{ lines.push_back(Zeile); 
					hochzaehler++;}
		}
		if( strstr(Zeile,&quot;WIEDERHOLE&quot;) &amp;&amp; strstr(Zeile,&quot; START&quot;))
		{	
			for(i=0; i &lt; hochzaehler; i++)
			{fprintf(fpOut,&quot;%s&quot;, lines.at(i).c_str());}	

		}
</code></pre>
<p>nur kommt es dabei beim Ausführen zur abnormal program termination...Was mache ich falsch ??? bei lines.empty() hängt er weiter lustig die Zeilen<br />
an den Vektor an.</p>
<p>Theodor</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/289398/gefüllten-vector-leeren-mittels-clear</link><generator>RSS for Node</generator><lastBuildDate>Tue, 18 Aug 2026 23:51:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/289398.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 04 Jul 2011 07:50:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to gefüllten Vector leeren mittels .clear() on Mon, 04 Jul 2011 07:50:29 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>mein kleines Programm liest derzeit eine TXT-Datei ein und soll bestimmte<br />
Zeilen wiederholt ausgeben:</p>
<pre><code class="language-cpp">vector&lt;string&gt; lines;

		if (( z = strstr( Zeile, &quot; START:&quot; )) != NULL)
		{	if ((z = strstr( Zeile, &quot; ENDE:&quot; )) != NULL)
			{}else{	zaehler=1;

			      }
		}
		if (( z = strstr( Zeile, &quot; ENDE:&quot; )) != NULL)
		{	if ((z = strstr( Zeile, &quot; START:&quot; )) != NULL)
			{}else{	zaehler=0;
					}
		}
		if (zaehler==1 )
		{	if (( z = strstr( Zeile, &quot; START:&quot; )) != NULL)
			{}else{ lines.push_back(Zeile); 
					hochzaehler++;}
		}
		if( strstr(Zeile,&quot;WIEDERHOLE&quot;) &amp;&amp; strstr(Zeile,&quot; START&quot;))
		{	
			for(i=0; i &lt; hochzaehler; i++)
			{fprintf(fpOut,&quot;%s&quot;, lines.at(i).c_str());}	

		}
</code></pre>
<p>Die funktioniert soweit, sprich aus diesem Input:</p>
<blockquote>
<p>1<br />
2<br />
3<br />
START:<br />
4<br />
5<br />
6<br />
ENDE:<br />
7<br />
8<br />
WIEDERHOLE START<br />
9<br />
10<br />
11</p>
</blockquote>
<p>kommt folgender Output:</p>
<blockquote>
<p>1<br />
2<br />
3<br />
START:<br />
4<br />
5<br />
6<br />
ENDE:<br />
7<br />
8<br />
WIEDERHOLE START<br />
4<br />
5<br />
6<br />
9<br />
10<br />
11</p>
</blockquote>
<p>Bei einem zweiten Vorkommen von &quot;START:&quot; und &quot;ENDE:&quot;, hängt er jedoch nur die Zeilen an den Vektor an.</p>
<p>Wollte ihn jetzt wie folgt löschen:</p>
<pre><code class="language-cpp">vector&lt;string&gt; lines;

		if (( z = strstr( Zeile, &quot; START:&quot; )) != NULL)
		{	if ((z = strstr( Zeile, &quot; ENDE:&quot; )) != NULL)
			{}else{	zaehler=1;
					lines.clear();			//Löschen der gespeicherten Elemente
			      }
		}
		if (( z = strstr( Zeile, &quot; ENDE:&quot; )) != NULL)
		{	if ((z = strstr( Zeile, &quot; START:&quot; )) != NULL)
			{}else{	zaehler=0;
					}
		}
		if (zaehler==1 )
		{	if (( z = strstr( Zeile, &quot; START:&quot; )) != NULL)
			{}else{ lines.push_back(Zeile); 
					hochzaehler++;}
		}
		if( strstr(Zeile,&quot;WIEDERHOLE&quot;) &amp;&amp; strstr(Zeile,&quot; START&quot;))
		{	
			for(i=0; i &lt; hochzaehler; i++)
			{fprintf(fpOut,&quot;%s&quot;, lines.at(i).c_str());}	

		}
</code></pre>
<p>nur kommt es dabei beim Ausführen zur abnormal program termination...Was mache ich falsch ??? bei lines.empty() hängt er weiter lustig die Zeilen<br />
an den Vektor an.</p>
<p>Theodor</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2088514</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2088514</guid><dc:creator><![CDATA[TheodorN.]]></dc:creator><pubDate>Mon, 04 Jul 2011 07:50:29 GMT</pubDate></item><item><title><![CDATA[Reply to gefüllten Vector leeren mittels .clear() on Mon, 04 Jul 2011 08:23:23 GMT]]></title><description><![CDATA[<p>Wo bleibt denn der Debugger stehen?<br />
Aus</p>
<pre><code class="language-cpp">for(i=0; i &lt; hochzaehler; i++)
</code></pre>
<p>würde ich als Erstes mal</p>
<pre><code class="language-cpp">for(i=0; i &lt; lines.size(); i++)
</code></pre>
<p>machen (bzw. <code>std::min(lines.size(), hochzaehler</code> ).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2088526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2088526</guid><dc:creator><![CDATA[yahendrik]]></dc:creator><pubDate>Mon, 04 Jul 2011 08:23:23 GMT</pubDate></item><item><title><![CDATA[Reply to gefüllten Vector leeren mittels .clear() on Mon, 04 Jul 2011 12:15:08 GMT]]></title><description><![CDATA[<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2088617</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2088617</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Mon, 04 Jul 2011 12:15:08 GMT</pubDate></item><item><title><![CDATA[Reply to gefüllten Vector leeren mittels .clear() on Mon, 04 Jul 2011 13:27:08 GMT]]></title><description><![CDATA[<p>Man bist du (Threadersteller) pervers. Schau dir mal den &lt;fstream&gt; Header an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2088666</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2088666</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Mon, 04 Jul 2011 13:27:08 GMT</pubDate></item><item><title><![CDATA[Reply to gefüllten Vector leeren mittels .clear() on Mon, 11 Jul 2011 09:35:57 GMT]]></title><description><![CDATA[<p>sry...war leider erkrankt...</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/23275">@314159265358979</a> --&gt; warum bin ich &quot;pervers&quot; ? Keine ahnung was du mit dem fstream-Header meinst...</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/26065">@yahendrik</a> --&gt; keine Ahnung, das Programm stürzt direkt ab. Ich weiß auch nicht wie ich Programme mit Anhang (z.B. &quot;C:\test.exe c:\514.txt&quot;)debugge...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2091279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2091279</guid><dc:creator><![CDATA[TheodorN.]]></dc:creator><pubDate>Mon, 11 Jul 2011 09:35:57 GMT</pubDate></item><item><title><![CDATA[Reply to gefüllten Vector leeren mittels .clear() on Mon, 11 Jul 2011 09:44:33 GMT]]></title><description><![CDATA[<p>Unser junger Freund pi hat ziemlich genaue Vorstellungen davon, wie ein C++ Programm auszusehen hat. Leider vergreift es sich hin und wieder bei der Wortwahl, wenn er ein C++ Programm sieht, das seinen Vorstellungen nicht entspricht.</p>
<p>Ich weiß leider nicht, unter welchem OS und mit welcher IDE du entwickelst, aber man kann ein Programm im Debug-Modus laufen lassen. Im Debug Modus kannst du Brechpunkte auf Codezeilen setzen, sobald das Programm diese Codezeile erreicht bleibt es stehen und du kannst dir z.B. den Inhalt der Variablen anschauen.<br />
Wenn man C++ programmiert <strong>muss</strong> man den Umgang mit einem Debugger beherrschen, am besten du guckst dir die Hilfethemen zum Debugger deiner IDE an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2091284</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2091284</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Mon, 11 Jul 2011 09:44:33 GMT</pubDate></item><item><title><![CDATA[Reply to gefüllten Vector leeren mittels .clear() on Mon, 11 Jul 2011 09:50:30 GMT]]></title><description><![CDATA[<p>DocShoe schrieb:</p>
<blockquote>
<p>Unser junger Freund pi hat ziemlich genaue Vorstellungen davon, wie ein C++ Programm auszusehen hat. Leider vergreift es sich hin und wieder bei der Wortwahl, wenn er ein C++ Programm sieht, das seinen Vorstellungen nicht entspricht.</p>
</blockquote>
<p>word ! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>DocShoe schrieb:</p>
<blockquote>
<p>Ich weiß leider nicht, unter welchem OS und mit welcher IDE du entwickelst, aber man kann ein Programm im Debug-Modus laufen lassen. Im Debug Modus kannst du Brechpunkte auf Codezeilen setzen, sobald das Programm diese Codezeile erreicht bleibt es stehen und du kannst dir z.B. den Inhalt der Variablen anschauen.<br />
Wenn man C++ programmiert <strong>muss</strong> man den Umgang mit einem Debugger beherrschen, am besten du guckst dir die Hilfethemen zum Debugger deiner IDE an.</p>
</blockquote>
<p>wie zum beispiel microsoft visual c++ oder codeblocks</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2091287</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2091287</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Mon, 11 Jul 2011 09:50:30 GMT</pubDate></item><item><title><![CDATA[Reply to gefüllten Vector leeren mittels .clear() on Mon, 11 Jul 2011 09:50:56 GMT]]></title><description><![CDATA[<p>TheodorN. schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/23275">@314159265358979</a> --&gt; warum bin ich &quot;pervers&quot; ? Keine ahnung was du mit dem fstream-Header meinst...</p>
</blockquote>
<p>Er meint, dass du entweder Masochist bist oder keine Ahnung von der C++-Standardbibliothek hast. Deine Antwort, dass du von fstream keine Ahnung hast, beantwortet, welches von beiden der Fall ist. Und das ist schlecht, ganz schlecht, denn die c++-Standardbibliothek sollte man kennen, wenn man C++ macht <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="😉"
    /> . Die Chancen stehen auch gut, dass dein Fehler etwas damit zu tun hat, da die C-Bibliothek (die du benutzt) nicht gerade anfängerfreundlich ist und Fehler mit eben solchen Abstürzen wie diesem quittiert.</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/26065">@yahendrik</a> --&gt; keine Ahnung, das Programm stürzt direkt ab. Ich weiß auch nicht wie ich Programme mit Anhang (z.B. &quot;C:\test.exe c:\514.txt&quot;)debugge...</p>
</blockquote>
<p>Dann finde es heraus! Zu wissen wie man einen Debugger benutzt ist eine der wichtigsten Grundtechniken beim Programmieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2091288</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2091288</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 11 Jul 2011 09:50:56 GMT</pubDate></item><item><title><![CDATA[Reply to gefüllten Vector leeren mittels .clear() on Mon, 11 Jul 2011 10:54:19 GMT]]></title><description><![CDATA[<p>Danke zusammen, werde jetzt erst mal &quot;richtig&quot; debuggen lernen um zu sehen wo das Problem ist...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2091320</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2091320</guid><dc:creator><![CDATA[TheodorN.]]></dc:creator><pubDate>Mon, 11 Jul 2011 10:54:19 GMT</pubDate></item></channel></rss>