<?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[Funktion strrchr wird nicht erkannt]]></title><description><![CDATA[<p>Hallo liebe Gemeinde.</p>
<p>Folgenden Beispielcode habe ich auf C++ Reference gefunden:</p>
<pre><code class="language-cpp">/* strrchr example */
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;

int main ()
{
  char str[] = &quot;This is a sample string&quot;;
  char * pch;
  pch=strrchr(str,'s');
  printf (&quot;Last occurence of 's' found at %d \n&quot;,pch-str+1);
  return 0;
}
</code></pre>
<p>Nun wollte ich diesen Code auf C++ transferieren:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;cstring&gt;
#include&lt;stdio.h&gt;
using namespace std;

int main()
{
	std::string str = &quot;Das ist ein einfacher String.\n&quot;;
	std::string * pch;

	pch = strrchr(str,'s');

	cout &lt;&lt; &quot;Letzte Stelle von 's' wurde gefunden an \n&quot; &lt;&lt; pch-str+1;

	return 0;
}
</code></pre>
<p>Jedoch bekomme ich folgende Fehlermeldungen:</p>
<pre><code class="language-cpp">error C2665: &quot;strrchr&quot;: Durch keine der 2 Überladungen konnten alle Argumenttypen konvertiert werden.(Bezieht sich auf Zeile 11)
error C2679: Binärer Operator '-': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'std::string' akzeptiert (oder keine geeignete Konvertierung möglich)(Bezieht sich auf Zeile 13)
</code></pre>
<p>Langsam, was will ich machen?</p>
<p>Ich will von einem String die letzte Stelle des Buchstabens <code>s</code> . Dazu benötige ich, wie im Beispiel auf <a href="http://www.cplusplus.com/reference/" rel="nofollow">http://www.cplusplus.com/reference/</a> zu sehen die Funktion strrchr. Um diese Funktion einbinden zu können, benötige ich die Bibliotheken von <code>stdio.h</code> und <code>string</code> .</p>
<p>Ich dachte, dass ich es mit <code>#include&lt;cstring&gt;</code> und <code>#include&lt;stdio.h&gt;</code> getan hätte...</p>
<p>Wo liegt mein Denkfehler??</p>
<p>Danke für die Antworten im Voraus.</p>
<p>Gruß</p>
<p>Max</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/312199/funktion-strrchr-wird-nicht-erkannt</link><generator>RSS for Node</generator><lastBuildDate>Mon, 03 Aug 2026 02:03:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/312199.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 28 Dec 2012 12:00:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktion strrchr wird nicht erkannt on Fri, 28 Dec 2012 12:02:12 GMT]]></title><description><![CDATA[<p>Hallo liebe Gemeinde.</p>
<p>Folgenden Beispielcode habe ich auf C++ Reference gefunden:</p>
<pre><code class="language-cpp">/* strrchr example */
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;

int main ()
{
  char str[] = &quot;This is a sample string&quot;;
  char * pch;
  pch=strrchr(str,'s');
  printf (&quot;Last occurence of 's' found at %d \n&quot;,pch-str+1);
  return 0;
}
</code></pre>
<p>Nun wollte ich diesen Code auf C++ transferieren:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;cstring&gt;
#include&lt;stdio.h&gt;
using namespace std;

int main()
{
	std::string str = &quot;Das ist ein einfacher String.\n&quot;;
	std::string * pch;

	pch = strrchr(str,'s');

	cout &lt;&lt; &quot;Letzte Stelle von 's' wurde gefunden an \n&quot; &lt;&lt; pch-str+1;

	return 0;
}
</code></pre>
<p>Jedoch bekomme ich folgende Fehlermeldungen:</p>
<pre><code class="language-cpp">error C2665: &quot;strrchr&quot;: Durch keine der 2 Überladungen konnten alle Argumenttypen konvertiert werden.(Bezieht sich auf Zeile 11)
error C2679: Binärer Operator '-': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'std::string' akzeptiert (oder keine geeignete Konvertierung möglich)(Bezieht sich auf Zeile 13)
</code></pre>
<p>Langsam, was will ich machen?</p>
<p>Ich will von einem String die letzte Stelle des Buchstabens <code>s</code> . Dazu benötige ich, wie im Beispiel auf <a href="http://www.cplusplus.com/reference/" rel="nofollow">http://www.cplusplus.com/reference/</a> zu sehen die Funktion strrchr. Um diese Funktion einbinden zu können, benötige ich die Bibliotheken von <code>stdio.h</code> und <code>string</code> .</p>
<p>Ich dachte, dass ich es mit <code>#include&lt;cstring&gt;</code> und <code>#include&lt;stdio.h&gt;</code> getan hätte...</p>
<p>Wo liegt mein Denkfehler??</p>
<p>Danke für die Antworten im Voraus.</p>
<p>Gruß</p>
<p>Max</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2283906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2283906</guid><dc:creator><![CDATA[silent_max]]></dc:creator><pubDate>Fri, 28 Dec 2012 12:02:12 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion strrchr wird nicht erkannt on Fri, 28 Dec 2012 12:08:53 GMT]]></title><description><![CDATA[<blockquote>
<p>Ich will von einem String die letzte Stelle des Buchstabens s.</p>
</blockquote>
<pre><code>std::string str = &quot;Dies ist ein einfacher String.&quot;;
std::cout &lt;&lt; &quot;Letztes Vorkommen: &quot; &lt;&lt; str.rfind( 's' );
</code></pre>
<p>Ungetestet.<br />
Man kann selbstverständlich noch auf <code>npos</code> prüfen, wenn man sehr akribisch ist.<br />
(Für das Beispiel macht es keinen Unterschied)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2283907</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2283907</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Fri, 28 Dec 2012 12:08:53 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion strrchr wird nicht erkannt on Fri, 28 Dec 2012 12:05:11 GMT]]></title><description><![CDATA[<p>strchr arbeitet mit C-Strings (Nullterminierte char-Arrays) und nicht mit dem C++-string.<br />
Steht auch so in der Referenz. Für den ersten Parameter wird <code>const char *</code> oder <code>char *</code> erwartet. Da steht nicht <code>string</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2283909</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2283909</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Fri, 28 Dec 2012 12:05:11 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion strrchr wird nicht erkannt on Fri, 28 Dec 2012 12:07:56 GMT]]></title><description><![CDATA[<p>DirkB schrieb:</p>
<blockquote>
<p>strchr arbeitet mit C-Strings (Nullterminierte char-Arrays) und nicht mit dem C++-string.<br />
Steht auch so in der Referenz. Für den ersten Parameter wird <code>const char *</code> oder <code>char *</code> erwartet. Da steht nicht <code>string</code> .</p>
</blockquote>
<p>Hier steht es auch:<br />
<a href="http://en.cppreference.com/w/cpp/string/byte/strrchr" rel="nofollow">http://en.cppreference.com/w/cpp/string/byte/strrchr</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2283911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2283911</guid><dc:creator><![CDATA[silent_max]]></dc:creator><pubDate>Fri, 28 Dec 2012 12:07:56 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion strrchr wird nicht erkannt on Fri, 28 Dec 2012 12:09:01 GMT]]></title><description><![CDATA[<p>std::string ist nicht gleich char *.<br />
Du willst wahrscheinlich</p>
<pre><code class="language-cpp">std::string str = &quot;Das ist ein einfacher String.\n&quot;;
	std::string pch;

	pch = strrchr(str.c_str(), 's');
</code></pre>
<p>Wobei pch = strrchr(str.c_str(), 's'); den halben String kopiert, das willst du wahrscheinlich gar nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2283912</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2283912</guid><dc:creator><![CDATA[nwp3]]></dc:creator><pubDate>Fri, 28 Dec 2012 12:09:01 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion strrchr wird nicht erkannt on Fri, 28 Dec 2012 12:10:23 GMT]]></title><description><![CDATA[<p>nwp3 schrieb:</p>
<blockquote>
<p>Du willst wahrscheinlich</p>
<pre><code class="language-cpp">std::string str = &quot;Das ist ein einfacher String.\n&quot;;
	std::string pch;

	pch = strrchr(str.c_str(), 's');
</code></pre>
</blockquote>
<p>Nein, das will er nicht. Er will, was ich oben vorgemacht habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2283915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2283915</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Fri, 28 Dec 2012 12:10:23 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion strrchr wird nicht erkannt on Fri, 28 Dec 2012 12:13:04 GMT]]></title><description><![CDATA[<p>Bevor du weiter char-Arrays und std::string durcheinander bringst, ändere erst mal ganz schnell dein Passwort (siehe anderer Thread)! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2283918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2283918</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Fri, 28 Dec 2012 12:13:04 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion strrchr wird nicht erkannt on Fri, 28 Dec 2012 12:18:06 GMT]]></title><description><![CDATA[<p>_matze schrieb:</p>
<blockquote>
<p>Bevor du weiter char-Arrays und std::string durcheinander bringst, ändere erst mal ganz schnell dein Passwort (siehe anderer Thread)! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /></p>
</blockquote>
<p>Hat er es immer noch nicht geändert? Oder hast du es erraten? :xmas2:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2283921</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2283921</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Fri, 28 Dec 2012 12:18:06 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion strrchr wird nicht erkannt on Fri, 28 Dec 2012 12:21:01 GMT]]></title><description><![CDATA[<p>Ich sag's nur noch mal, weil noch keine Reaktion von ihm gekommen ist. <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2283923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2283923</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Fri, 28 Dec 2012 12:21:01 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion strrchr wird nicht erkannt on Fri, 28 Dec 2012 13:24:27 GMT]]></title><description><![CDATA[<p>Ich habe es jetzt doch schon geändert....</p>
<p>Bzw. auf welches Passwort bist Du gekommen?</p>
<p>Edit:</p>
<p>Spätestens jetzt kommt niemand mehr darauf, wie mein Passwort ist... Wie blöd war ich nur, mein Passwort frei zu gänglich zu machen... *Kopf gegen die Wand schlag*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2283946</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2283946</guid><dc:creator><![CDATA[silent_max]]></dc:creator><pubDate>Fri, 28 Dec 2012 13:24:27 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion strrchr wird nicht erkannt on Fri, 28 Dec 2012 14:59:18 GMT]]></title><description><![CDATA[<p>Ändere es am besten auch überall, wo du es sonst noch verwendet hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2283979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2283979</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Fri, 28 Dec 2012 14:59:18 GMT</pubDate></item></channel></rss>