<?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[Adresse als Rückgabewert einer Funktion]]></title><description><![CDATA[<p>Hallo, ich soll die Funktion strstr neu schreiben, bin sogut wie fertig nur mit der Rückgabe stimmt was nicht:</p>
<pre><code class="language-cpp">char * strstr(const char * sp1, const char * sp2){
  for(int i=0;i&lt;strlen(sp1);i++){
    for(int x=0;x&lt;strlen(sp2);x++){
      if(sp1[i+x]!=sp2[x])
        break;
      if(sp1[i+x]==sp2[x]&amp;&amp;x+1==strlen(sp2))
        //return &amp;sp1[i];			//HIER STIMMT WAS NICHT!
    }
  }
  return NULL;
}
</code></pre>
<p>Wie macht man das richtig?<br />
mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/279830/adresse-als-rückgabewert-einer-funktion</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 09:03:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/279830.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 04 Jan 2011 16:04:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Adresse als Rückgabewert einer Funktion on Tue, 04 Jan 2011 16:04:13 GMT]]></title><description><![CDATA[<p>Hallo, ich soll die Funktion strstr neu schreiben, bin sogut wie fertig nur mit der Rückgabe stimmt was nicht:</p>
<pre><code class="language-cpp">char * strstr(const char * sp1, const char * sp2){
  for(int i=0;i&lt;strlen(sp1);i++){
    for(int x=0;x&lt;strlen(sp2);x++){
      if(sp1[i+x]!=sp2[x])
        break;
      if(sp1[i+x]==sp2[x]&amp;&amp;x+1==strlen(sp2))
        //return &amp;sp1[i];			//HIER STIMMT WAS NICHT!
    }
  }
  return NULL;
}
</code></pre>
<p>Wie macht man das richtig?<br />
mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2002324</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2002324</guid><dc:creator><![CDATA[Lokiu]]></dc:creator><pubDate>Tue, 04 Jan 2011 16:04:13 GMT</pubDate></item><item><title><![CDATA[Reply to Adresse als Rückgabewert einer Funktion on Tue, 04 Jan 2011 16:09:36 GMT]]></title><description><![CDATA[<blockquote>
<p>//HIER STIMMT WAS NICHT!</p>
</blockquote>
<p>In Zukunft bitte aussagekräftige Fehlerbeschreibungen posten.<br />
Dein Rückgabewert muss <em>const char</em>* sein, da du auch <em>const char</em>* als Parameter nimmst und ansonsten die constness des Strings wegcasten würdest.<br />
In der Std-Lib ist die Funktion übrigens einmal für <em>char</em>* und einmal für <em>const char</em>* überladen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2002330</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2002330</guid><dc:creator><![CDATA[wx++]]></dc:creator><pubDate>Tue, 04 Jan 2011 16:09:36 GMT</pubDate></item><item><title><![CDATA[Reply to Adresse als Rückgabewert einer Funktion on Tue, 04 Jan 2011 16:52:50 GMT]]></title><description><![CDATA[<p>strlen muss man auch nicht zig mal aufrufen. Das kann man einmal machen und sich das Ergebnis merken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2002347</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2002347</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Tue, 04 Jan 2011 16:52:50 GMT</pubDate></item><item><title><![CDATA[Reply to Adresse als Rückgabewert einer Funktion on Tue, 04 Jan 2011 17:04:55 GMT]]></title><description><![CDATA[<p>kr schrieb:</p>
<blockquote>
<p>strlen muss man auch nicht zig mal aufrufen. Das kann man einmal machen und sich das Ergebnis merken.</p>
</blockquote>
<p>Genau genommen bräuchte man es sogar gar nicht. Man möchte schließlich bis zum Ende des Strings durchgehen, aber dafür ist nicht nötig vorher zu wissen wo es ist. Man kann einfach aufhören weiter zu gehen wenn man angekommen ist:</p>
<pre><code class="language-cpp">for(int i=0;sp1[i];++i){
    for(int x=0;sp2[x];++x){
      // ...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2002352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2002352</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 04 Jan 2011 17:04:55 GMT</pubDate></item></channel></rss>