<?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[Problem mit str.find]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich komme gerade nicht mehr weiter. Wollte ein Programm schreiben, das eine Text-Datei (file) zeilenweise einliest und in den Stringvektor speichert.<br />
Zusätzlich sollen die Zeilen nach &quot;scs_m_1&quot; und weiter hinten in der Zeile &quot;scicos_link&quot; abgesucht werden und nur diese Zeile ausgegeben werden.</p>
<p>Komischerweise gibt er mir bei meinem Code unten jede Zeile des Textes aus und ich hab keine Ahnung warum.<br />
Bitte helft mir!<br />
Danke Mike</p>
<p>Code:</p>
<p>// Schleife, die Text zeilenweise einliest und analysiert<br />
while(!file.eof())<br />
{<br />
getline(file, line); // Zeilenweise einlesen<br />
stringvec.push_back(line);<br />
z++; // Zählt Anzahl der Zeilen mit</p>
<p>if(line.find(&quot;scs_m_1&quot;))<br />
{<br />
if(line.find(&quot;scicos_link&quot;))<br />
{<br />
cout&lt;&lt;&quot;Zeile: &quot;&lt;&lt;z&lt;&lt;endl;<br />
cout&lt;&lt;line&lt;&lt;&quot;\n&quot;&lt;&lt;endl;<br />
}<br />
}<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/258603/problem-mit-str-find</link><generator>RSS for Node</generator><lastBuildDate>Sun, 05 Apr 2026 11:35:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/258603.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 Jan 2010 17:51:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit str.find on Tue, 12 Jan 2010 17:51:40 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich komme gerade nicht mehr weiter. Wollte ein Programm schreiben, das eine Text-Datei (file) zeilenweise einliest und in den Stringvektor speichert.<br />
Zusätzlich sollen die Zeilen nach &quot;scs_m_1&quot; und weiter hinten in der Zeile &quot;scicos_link&quot; abgesucht werden und nur diese Zeile ausgegeben werden.</p>
<p>Komischerweise gibt er mir bei meinem Code unten jede Zeile des Textes aus und ich hab keine Ahnung warum.<br />
Bitte helft mir!<br />
Danke Mike</p>
<p>Code:</p>
<p>// Schleife, die Text zeilenweise einliest und analysiert<br />
while(!file.eof())<br />
{<br />
getline(file, line); // Zeilenweise einlesen<br />
stringvec.push_back(line);<br />
z++; // Zählt Anzahl der Zeilen mit</p>
<p>if(line.find(&quot;scs_m_1&quot;))<br />
{<br />
if(line.find(&quot;scicos_link&quot;))<br />
{<br />
cout&lt;&lt;&quot;Zeile: &quot;&lt;&lt;z&lt;&lt;endl;<br />
cout&lt;&lt;line&lt;&lt;&quot;\n&quot;&lt;&lt;endl;<br />
}<br />
}<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1837730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1837730</guid><dc:creator><![CDATA[MikeBb]]></dc:creator><pubDate>Tue, 12 Jan 2010 17:51:40 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit str.find on Tue, 12 Jan 2010 17:53:31 GMT]]></title><description><![CDATA[<p>find() gibt als Rückgabewert nicht false, wenn der substring nicht gefunden werden konnte, sondern:</p>
<p>string::npos</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1837732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1837732</guid><dc:creator><![CDATA[Samyboy]]></dc:creator><pubDate>Tue, 12 Jan 2010 17:53:31 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit str.find on Tue, 12 Jan 2010 18:07:51 GMT]]></title><description><![CDATA[<p>Aber wie kann ich das Problem lösen?</p>
<p>Wieso findet er anscheinend in jeder Zeile die Signalwörter?</p>
<p>Komischerweise wenn ich</p>
<p>if(!line.find(&quot;scs_m_1&quot;))<br />
{<br />
cout&lt;&lt;line;<br />
}</p>
<p>gibt er mir die Zeilen mit scs_m_1 aus.</p>
<p>Kann mir das bitte jemand erklären?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1837749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1837749</guid><dc:creator><![CDATA[MikeBb]]></dc:creator><pubDate>Tue, 12 Jan 2010 18:07:51 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit str.find on Tue, 12 Jan 2010 18:09:07 GMT]]></title><description><![CDATA[<p>Samyboy schrieb:</p>
<blockquote>
<p>find() gibt als Rückgabewert nicht false, wenn der substring nicht gefunden werden konnte, sondern:</p>
<p>string::npos</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1837750</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1837750</guid><dc:creator><![CDATA[Samyboy]]></dc:creator><pubDate>Tue, 12 Jan 2010 18:09:07 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit str.find on Tue, 12 Jan 2010 18:21:07 GMT]]></title><description><![CDATA[<p>Damit kann ich leider nichts anfangen. Trotzdem danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1837763</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1837763</guid><dc:creator><![CDATA[MikeBb]]></dc:creator><pubDate>Tue, 12 Jan 2010 18:21:07 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit str.find on Tue, 12 Jan 2010 18:23:34 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">string test = &quot;Hai there&quot;.
if (test.find(&quot;test&quot;) == string::npos) // falls der substring NICHT gefunden wurde...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1837765</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1837765</guid><dc:creator><![CDATA[Samyboy]]></dc:creator><pubDate>Tue, 12 Jan 2010 18:23:34 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit str.find on Tue, 12 Jan 2010 18:50:03 GMT]]></title><description><![CDATA[<p>MikeBb, verwende bitte in Zukunft [cpp]-Tags, damit dein Code schön formatiert wird. Das sieht dann so wie in Samyboys Post aus.</p>
<p>Dazu kannst du die erste weisse Schaltfläche mit der Aufschrift &quot;C/C++&quot; benutzen, welche gleich unter den Smileys zu sehen ist. Markiere einfach den Code und klicke darauf, oder klicke einmal am Anfang und dann am Ende wieder. Mit dem Vorschau-Button kannst du sehen, ob es geklappt hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1837788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1837788</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 12 Jan 2010 18:50:03 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit str.find on Tue, 12 Jan 2010 18:57:38 GMT]]></title><description><![CDATA[<p>Achso funktioniert das mit dem Code hinterlegen...</p>
<p>Vielen Dank für die Antwort, jetzt hab ich das mit npos endlich kapiert, war mir anscheinend die ganze Zeit nicht klar und ich hatte mit manchen Lösungen nur Glück..</p>
<p>Aber so gehts:</p>
<pre><code class="language-cpp">if((line.find(&quot;scs_m_1&quot;)!=string::npos)&amp;&amp;(line.find(&quot;scicos_link&quot;)!=string::npos))
</code></pre>
<p>Und der weiße Untergrund klappt jetzt auch, juhu!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1837796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1837796</guid><dc:creator><![CDATA[MikeBb]]></dc:creator><pubDate>Tue, 12 Jan 2010 18:57:38 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit str.find on Tue, 12 Jan 2010 19:06:54 GMT]]></title><description><![CDATA[<p>Wenn du die Funktion oft brauchst und nur prüfen willst, ob ein Teilstring vorkommt ( <code>std::string::find()</code> gibt zusätzlich den Index an), schreib dir doch eine entsprechende Funktion:</p>
<pre><code class="language-cpp">bool contains_string(const std::string&amp; string, const std::string&amp; substring)
{
    return string.find(substring) != std::string::npos;
}
</code></pre>
<p>Dann sieht deine If-Abfrage gleich viel übersichtlicher aus:</p>
<pre><code class="language-cpp">if (contains_string(line, &quot;scs_m_1&quot;) &amp;&amp; contains_string(line, &quot;scicos_link&quot;))
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1837805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1837805</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 12 Jan 2010 19:06:54 GMT</pubDate></item></channel></rss>