<?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[Frage bezüglich seltsamen fehlers(string methode find() )]]></title><description><![CDATA[<p>Heho, folgender Code funktioniert nicht:</p>
<pre><code class="language-cpp">if(codeline.find(&quot;name&quot;) &gt; -1)
//blabla
</code></pre>
<p>aber folgender schon:</p>
<pre><code class="language-cpp">if(codeline.find(&quot;name&quot;) &gt;= 0)
//blabla
</code></pre>
<p>Wie kann das sein?<br />
name ist enthalten, soviel ist sicher. Obere Version funktioniert aber die untere nicht?!?!<br />
Kann ich mir nicht wirklich erklären</p>
<p>und wieso scheint der Wert von string::npos irgendwas bei 4 Millionen zu sein?? erhalt ich zumindest, wenn ich den ausgeben lasse</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/265742/frage-bezüglich-seltsamen-fehlers-string-methode-find</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 21:35:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/265742.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 28 Apr 2010 10:05:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage bezüglich seltsamen fehlers(string methode find() ) on Wed, 28 Apr 2010 10:11:59 GMT]]></title><description><![CDATA[<p>Heho, folgender Code funktioniert nicht:</p>
<pre><code class="language-cpp">if(codeline.find(&quot;name&quot;) &gt; -1)
//blabla
</code></pre>
<p>aber folgender schon:</p>
<pre><code class="language-cpp">if(codeline.find(&quot;name&quot;) &gt;= 0)
//blabla
</code></pre>
<p>Wie kann das sein?<br />
name ist enthalten, soviel ist sicher. Obere Version funktioniert aber die untere nicht?!?!<br />
Kann ich mir nicht wirklich erklären</p>
<p>und wieso scheint der Wert von string::npos irgendwas bei 4 Millionen zu sein?? erhalt ich zumindest, wenn ich den ausgeben lasse</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1889329</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1889329</guid><dc:creator><![CDATA[kingcools]]></dc:creator><pubDate>Wed, 28 Apr 2010 10:11:59 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich seltsamen fehlers(string methode find() ) on Wed, 28 Apr 2010 10:11:47 GMT]]></title><description><![CDATA[<p>Ich nehme an &quot;codeline&quot; ist vom Typ std::string.<br />
In dem Fall gibt die find()-Methode den Typ size_t zurück. size_t ist Vorzeichenlos, kann also nicht negativ sein.</p>
<p>Mit der richtigen Warnstufe sollte dein Compiler dich vor so etwas aber auch warnen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1889332</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1889332</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Wed, 28 Apr 2010 10:11:47 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich seltsamen fehlers(string methode find() ) on Wed, 28 Apr 2010 10:13:26 GMT]]></title><description><![CDATA[<p>Bitte zuerst die mit <strong>wichtig</strong> markierten Threads <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-200753.html" rel="nofollow">lesen</a> und dann ordentliche Fragen posten! (Das gilt grundsätzlich für Foren im Internet, gehört quasi zum guten benehmen). So kann dir keiner ne Antwort geben weil du uns keine Informationen und Anhaltspunkte lieferst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1889334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1889334</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 28 Apr 2010 10:13:26 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich seltsamen fehlers(string methode find() ) on Wed, 28 Apr 2010 10:18:31 GMT]]></title><description><![CDATA[<p>Ja es handelt sich um einen string. Aber laut Dokumentation gibt find() npos zurück, wenn nichts gefunden worden ist(<a href="http://www.cplusplus.com/reference/string/string/npos/" rel="nofollow">http://www.cplusplus.com/reference/string/string/npos/</a>). Das ist negativ.<br />
Und selbst wenn nicht, da nur ganze Zahlen vorkommen, ist das doch identisch, oder nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1889338</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1889338</guid><dc:creator><![CDATA[kingcools]]></dc:creator><pubDate>Wed, 28 Apr 2010 10:18:31 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich seltsamen fehlers(string methode find() ) on Wed, 28 Apr 2010 10:23:10 GMT]]></title><description><![CDATA[<p>Lies mal den letzten Absatz bei deinem Link. Auch wenns als negative Zahl definiert ist, wird am Ende was positives draus. Und da es unsigned ist ist es größer als -1! Das heißt, es gilt immer <code>-1u &gt; -1</code> . Du vergleichst eben einen unsigned Datentyp mit einem signed Integer.</p>
<p>Ich an deiner Stelle würde das aber weder mit -1 noch mit 0 vergleichen sondern einfach mit std::string::npos - dazu gibts die Definition schließlich.</p>
<pre><code class="language-cpp">if(codeline.find(&quot;name&quot;) != std::string::npos)
//blabla
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1889345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1889345</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 28 Apr 2010 10:23:10 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich seltsamen fehlers(string methode find() ) on Wed, 28 Apr 2010 11:13:43 GMT]]></title><description><![CDATA[<p>hiho,</p>
<p>der &quot; &gt; &quot; - Operator ist doch ein binärer Operator. ---&gt; er arbeitet mit 2 Operanden.<br />
Dass er aber arbeiten kann, müssen doch beide Operanden vom selben Datentyp sein.</p>
<p>Bsp.: in diesem Fall wird doch dann -1 implizit nach &quot;unsigned int&quot; gecastet.:<br />
-1 --&gt; (2^32)-1</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

unsigned int fkt()
{
    unsigned int ui = 1;
    return ui;
}

int main()
{
    if( fkt() &gt; -1 )    // 1 &gt; (2^32)-1 --&gt; false
        cout &lt;&lt; &quot;Test&quot;;

    system(&quot;pause&gt;nul&quot;);
    return 0;
}
</code></pre>
<p>stünde dort aber,</p>
<pre><code class="language-cpp">if( fkt() &gt;= 0 )    // ---&gt; true
    cout &lt;&lt; &quot;Test&quot;;
</code></pre>
<p>dann wird nix gecastet da ja beide Operanden schon den gleichen Datentyp haben, und die &quot;if&quot; ist &quot;true&quot;.</p>
<p>... so müsste das doch sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1889388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1889388</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 28 Apr 2010 11:13:43 GMT</pubDate></item><item><title><![CDATA[Reply to Frage bezüglich seltsamen fehlers(string methode find() ) on Wed, 28 Apr 2010 12:02:29 GMT]]></title><description><![CDATA[<p>touché, vielen dank <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="🙂"
    /><br />
habs so wie pumuckel dann erklärt hat gemacht, geht wunderbar.<br />
Kann zu</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1889413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1889413</guid><dc:creator><![CDATA[kingcools]]></dc:creator><pubDate>Wed, 28 Apr 2010 12:02:29 GMT</pubDate></item></channel></rss>