<?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[Wörter in einem String ersetzen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bin dabei C++ zu lernen, was mir die meiste Zeit auch richtig Spaß macht.</p>
<p>Gestern habe ich mich ein Wenig mit String Manipulationen beschäftigt und mich an einer Funktion versucht die ein Wort (auch wenn es mehrfach im Text vorkommt) ersetzt.</p>
<p>Mein derzeitiger Lösungsansatz sieht so aus:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

void ersetzen( string &amp;text, string alt, string neu );

int main( void ) {
    string text = &quot;Das Lernen macht Spaß, das Lernen ist gut, &quot;
                   &quot;vom Lernen krieg ich nie genug.&quot;;

    cout &lt;&lt; &quot;Alter Text: &quot; &lt;&lt; text &lt;&lt; endl;
    ersetzen(text, &quot;Lernen&quot;, &quot;Leben&quot;);    
    cout &lt;&lt; &quot;Neuer Text: &quot; &lt;&lt; text &lt;&lt; endl;

    return 0;
}

void ersetzen( string &amp;text, string alt, string neu ) {
    short int x = 0;
    while( text.find( alt, x ) &lt; text.length() ) {
        text.replace( text.find( alt, x ), alt.length(), neu );
        x++;
    }
}
</code></pre>
<p>Das scheint auch gut zu funktionieren, die while-Schleife wird nur so oft durchlaufen wie das zu ersetzende Wort im String vorkommt und das Ergebnis ist wie erhofft.</p>
<p>Was ich etwas unglücklich finde ist das ich die Zähler-Variable x vor der Schleife Initialisieren muss, hier schien mir eine for-Schleife eigentlich sinnvoller, erwies sich in meinem Versuch aber als viel umständlicher.</p>
<p>Ich kann als Anfänger leider nicht wirklich beurteilen ob mein Ansatz was taugt oder ob es einen besseren Weg gibt so Etwas zu Lösen und würde mich deshalb sehr über ein Feedback freuen.</p>
<p>Gruß</p>
<p>Nils</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/291226/wörter-in-einem-string-ersetzen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 17 Aug 2026 20:33:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/291226.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 13 Aug 2011 09:34:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wörter in einem String ersetzen on Sat, 13 Aug 2011 09:34:13 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bin dabei C++ zu lernen, was mir die meiste Zeit auch richtig Spaß macht.</p>
<p>Gestern habe ich mich ein Wenig mit String Manipulationen beschäftigt und mich an einer Funktion versucht die ein Wort (auch wenn es mehrfach im Text vorkommt) ersetzt.</p>
<p>Mein derzeitiger Lösungsansatz sieht so aus:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

void ersetzen( string &amp;text, string alt, string neu );

int main( void ) {
    string text = &quot;Das Lernen macht Spaß, das Lernen ist gut, &quot;
                   &quot;vom Lernen krieg ich nie genug.&quot;;

    cout &lt;&lt; &quot;Alter Text: &quot; &lt;&lt; text &lt;&lt; endl;
    ersetzen(text, &quot;Lernen&quot;, &quot;Leben&quot;);    
    cout &lt;&lt; &quot;Neuer Text: &quot; &lt;&lt; text &lt;&lt; endl;

    return 0;
}

void ersetzen( string &amp;text, string alt, string neu ) {
    short int x = 0;
    while( text.find( alt, x ) &lt; text.length() ) {
        text.replace( text.find( alt, x ), alt.length(), neu );
        x++;
    }
}
</code></pre>
<p>Das scheint auch gut zu funktionieren, die while-Schleife wird nur so oft durchlaufen wie das zu ersetzende Wort im String vorkommt und das Ergebnis ist wie erhofft.</p>
<p>Was ich etwas unglücklich finde ist das ich die Zähler-Variable x vor der Schleife Initialisieren muss, hier schien mir eine for-Schleife eigentlich sinnvoller, erwies sich in meinem Versuch aber als viel umständlicher.</p>
<p>Ich kann als Anfänger leider nicht wirklich beurteilen ob mein Ansatz was taugt oder ob es einen besseren Weg gibt so Etwas zu Lösen und würde mich deshalb sehr über ein Feedback freuen.</p>
<p>Gruß</p>
<p>Nils</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105622</guid><dc:creator><![CDATA[NilsV]]></dc:creator><pubDate>Sat, 13 Aug 2011 09:34:13 GMT</pubDate></item><item><title><![CDATA[Reply to Wörter in einem String ersetzen on Sat, 13 Aug 2011 09:47:34 GMT]]></title><description><![CDATA[<p>Dein Ansatz hat noch ein größeres Problem: Wenn der zu ersetzende Text im Ersatztext vorkommt, provozierst du eine Endlosschleife. Deswegen solltest du anstelle eines Zählers lieber die Position, wo der String zuletzt ersetzt wurde, mitführen:</p>
<pre><code class="language-cpp">//Achtung, ungetestet:
void ersetzen(string&amp; text,const string&amp; alt, const string&amp; neu)
{
  for(size_t pos = text.find(alt); pos != string::npos; pos = text.find(alt,pos+neu.length())
    text.replace(pos,alt.length(),neu);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2105623</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105623</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 13 Aug 2011 09:47:34 GMT</pubDate></item><item><title><![CDATA[Reply to Wörter in einem String ersetzen on Sat, 13 Aug 2011 09:52:58 GMT]]></title><description><![CDATA[<p>Ist doch eigentlich schon ganz schick, wie du es jetzt hast. Wie wäre es als Alternative so?</p>
<pre><code class="language-cpp">void ersetzen( string &amp;text, string alt, string neu ) {
  for (size_t x = text.find(alt); x != string::npos; x = text.find(alt,x+neu.length()))
    text.replace(x, alt.length(), neu);
}
</code></pre>
<p>edit: Mal wieder zu langsam. Aber das gibt mir Gelegenheit, unauffällig einen Fehler zu vertuschen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /> .</p>
<p>edit2: Hah! Das nenne ich mal übereinstimmung bei Lösungsvorschlägen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> . Immerhin habe ich mir im Gegensatz zu CStoll die Zeit genommen, die Lösung zu testen. Sollte funktionieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105626</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105626</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 13 Aug 2011 09:52:58 GMT</pubDate></item><item><title><![CDATA[Reply to Wörter in einem String ersetzen on Sat, 13 Aug 2011 10:54:47 GMT]]></title><description><![CDATA[<p>würde mal gerne was zu diesem codeschnipsel frage <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>
<p>warum braucht man prototypes ?<br />
void ersetzen( string &amp;text, string alt, string neu );</p>
<p>warum sollte man die function erst deklarieren und dann definieren, wenn man sie doch sofort deklarieren/definieren kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105647</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105647</guid><dc:creator><![CDATA[meeydoo]]></dc:creator><pubDate>Sat, 13 Aug 2011 10:54:47 GMT</pubDate></item><item><title><![CDATA[Reply to Wörter in einem String ersetzen on Sat, 13 Aug 2011 10:58:42 GMT]]></title><description><![CDATA[<p>meeydoo schrieb:</p>
<blockquote>
<p>würde mal gerne was zu diesem codeschnipsel frage <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>
<p>warum braucht man prototypes ?<br />
void ersetzen( string &amp;text, string alt, string neu );</p>
<p>warum sollte man die function erst deklarieren und dann definieren, wenn man sie doch sofort deklarieren/definieren kann?</p>
</blockquote>
<p>Braucht man nicht. Einfach die Funktion oben definieren. Wer so noch Prototypen quetscht, hat wohl Jürgen Wolf gelesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105649</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 13 Aug 2011 10:58:42 GMT</pubDate></item><item><title><![CDATA[Reply to Wörter in einem String ersetzen on Sat, 13 Aug 2011 11:16:45 GMT]]></title><description><![CDATA[<p>Vielen Dank für eure Hilfe,</p>
<p>string::npos kannte ich noch nicht, so wie ich das jetzt verstanden habe ist das so was wie eine Konstante oder ein Typdef in der String-Klasse das einfach -1 an die Stelle setzt (so als würde ich statt string::npos einfach direkt -1 dort hinschreiben). Mehr konnte ich zu string::npos leider nicht finden.</p>
<p>Ich vermute mal das sich ein &quot;Cursor&quot; auf der Suche durch den String bewegt der seine aktuelle Position zurück gibt und eben -1 zurück gibt wenn Er das Ende des Strings erreicht hat. Unter der Annahme kann ich eure Lösung nachvollziehen.</p>
<p>Das würde allerdings bedeuten das der suchen und ersetzen Vorgang in einem Durchlauf von statten geht (Das konnte ich in der Funktion mit einer Textausgabe auch verifizieren). Deshalb Frage ich jetzt mal ganz naiv ob es überhaupt Sinn macht eine Schleife zu verwenden, wenn diese in jedem Fall nur einmal durchlaufen wird?</p>
<blockquote>
<p>Dein Ansatz hat noch ein größeres Problem: Wenn der zu ersetzende Text im Ersatztext vorkommt, provozierst du eine Endlosschleife.</p>
</blockquote>
<p>Eine Endlosschleife konnte ich so nicht provozieren, allerdings wird das selbe Wort dann ein paar mal hintereinander gehängt, was auch nicht wünschenswert ist. Euer Ansatz verursacht da keine Probleme, vielen dank für den Hinweis.</p>
<p>volkard schrieb:</p>
<blockquote>
<p>meeydoo schrieb:</p>
<blockquote>
<p>würde mal gerne was zu diesem codeschnipsel frage <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>
<p>warum braucht man prototypes ?<br />
void ersetzen( string &amp;text, string alt, string neu );</p>
<p>warum sollte man die function erst deklarieren und dann definieren, wenn man sie doch sofort deklarieren/definieren kann?</p>
</blockquote>
<p>Braucht man nicht. Einfach die Funktion oben definieren. Wer so noch Prototypen quetscht, hat wohl Jürgen Wolf gelesen.</p>
</blockquote>
<p>Erwischt, ja ich hatte mit &quot;Grundkurs C++&quot; von J. W. angefangen, bevor ich hier im Forum über den Autor gelesen habe. Hab das Buch jetzt bei Seite gelegt und mir Herbert Schild's &quot;C++ Die professionelle Referenz&quot; zugelegt. Mächtiger Schinken aber abwechselnd mit ein Paar Tutorial's im Netz beiße ich mich da jetzt so allmählich durch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105654</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105654</guid><dc:creator><![CDATA[NilsV]]></dc:creator><pubDate>Sat, 13 Aug 2011 11:16:45 GMT</pubDate></item><item><title><![CDATA[Reply to Wörter in einem String ersetzen on Sat, 13 Aug 2011 11:28:16 GMT]]></title><description><![CDATA[<p>NilsV schrieb:</p>
<blockquote>
<p>string::npos kannte ich noch nicht, so wie ich das jetzt verstanden habe ist das so was wie eine Konstante oder ein Typdef in der String-Klasse das einfach -1 an die Stelle setzt (so als würde ich statt string::npos einfach direkt -1 dort hinschreiben). Mehr konnte ich zu string::npos leider nicht finden.</p>
</blockquote>
<p>Das ist die falsche Einstellung. Wenn soclhe Konstanten angeboten werden, dann nutzt man sie auch. Schreib da <strong>nie</strong> -1! Dann weiß niemand was du meinst und falls das mal geändert werden sollte, bist du angeschmiert.</p>
<blockquote>
<p>Ich vermute mal das sich ein &quot;Cursor&quot; auf der Suche durch den String bewegt der seine aktuelle Position zurück gibt und eben -1 zurück gibt wenn Er das Ende des Strings erreicht hat. Unter der Annahme kann ich eure Lösung nachvollziehen.</p>
</blockquote>
<p>Wozu vermuten? Referenzen lesen!</p>
<p><a href="http://www.cplusplus.com/reference/string/string/find/" rel="nofollow">http://www.cplusplus.com/reference/string/string/find/</a></p>
<p>edit: Und noch mal: Da wird nicht -1 zurück gegeben, sondern npos!</p>
<blockquote>
<p>Das würde allerdings bedeuten das der suchen und ersetzen Vorgang in einem Durchlauf von statten geht (Das konnte ich in der Funktion mit einer Textausgabe auch verifizieren). Deshalb Frage ich jetzt mal ganz naiv ob es überhaupt Sinn macht eine Schleife zu verwenden, wenn diese in jedem Fall nur einmal durchlaufen wird?</p>
</blockquote>
<p>Verstehe ich nicht. Der Schleifenkörper wird so oft durchlaufen, wie das Wort vorkommt. Und das ist alles was nötig ist. Willst du mit Absicht mehr Arbeit machen als nötig, damit deine Schleifen öfter durchlaufen werden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105660</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 13 Aug 2011 11:28:16 GMT</pubDate></item><item><title><![CDATA[Reply to Wörter in einem String ersetzen on Sat, 13 Aug 2011 11:47:11 GMT]]></title><description><![CDATA[<blockquote>
<p>Das ist die falsche Einstellung. Wenn soclhe Konstanten angeboten werden, dann nutzt man sie auch. Schreib da nie -1! Dann weiß niemand was du meinst und falls das mal geändert werden sollte, bist du angeschmiert.</p>
</blockquote>
<p>Hatte ich nicht vor, ging mir nur darum ob ich richtig verstanden habe was da wie passiert.</p>
<blockquote>
<p>Wozu vermuten? Referenzen lesen!</p>
</blockquote>
<p>Ich dachte das hätte ich, aber die verlinkte Beschreibung gibt mehr her als die in meinem Referenz Buch (oder ich muss wieder an einer anderen Stelle Suchen).</p>
<blockquote>
<p>Verstehe ich nicht. Der Schleifenkörper wird so oft durchlaufen, wie das Wort vorkommt. Und das ist alles was nötig ist. Willst du mit Absicht mehr Arbeit machen als nötig, damit deine Schleifen öfter durchlaufen werden?</p>
</blockquote>
<p>Da melde ich mal vorsichtig Zweifel an.</p>
<p>Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

void ersetzen( string &amp;text, string alt, string neu );

int main( void ) {
    string text = &quot;Das Lernen macht Spaß, das Lernen ist gut, &quot;
                  &quot;vom Lernen krieg ich nie genug.&quot;;

    cout &lt;&lt; &quot;Alter Text: &quot; &lt;&lt; text &lt;&lt; endl;
    ersetzen(text, &quot;Lernen&quot;, &quot;Leben&quot;);    
    cout &lt;&lt; &quot;Neuer Text: &quot; &lt;&lt; text &lt;&lt; endl;

    return 0;
}

void ersetzen( string &amp;text, string alt, string neu ) { 
    for (size_t x = text.find(alt); x != string::npos; x = text.find(alt,x+neu.length())) 
        text.replace(x, alt.length(), neu); 
        cout &lt;&lt; &quot;Schleifendurchlauf&quot; &lt;&lt; endl;
}
</code></pre>
<p>Ausgabe:</p>
<pre><code>Alter Text: Das Lernen macht Spaß, das Lernen ist gut, vom Lernen krieg ich nie genug.
Schleifendurchlauf
Neuer Text: Das Leben macht Spaß, das Leben ist gut, vom Leben krieg ich nie genug.
</code></pre>
<p>Das Wort &quot;Lernen&quot; wurde an 3 Stellen ersetzt, die Schleife aber nur 1 mal durchlaufen. Was sich damit deckt wie ich die Funktion verstanden zu haben glaube.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105666</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105666</guid><dc:creator><![CDATA[NilsV]]></dc:creator><pubDate>Sat, 13 Aug 2011 11:47:11 GMT</pubDate></item><item><title><![CDATA[Reply to Wörter in einem String ersetzen on Sat, 13 Aug 2011 11:50:12 GMT]]></title><description><![CDATA[<p>NilsV schrieb:</p>
<blockquote>
<p>Was sich damit deckt wie ich die Funktion verstanden zu haben glaube.</p>
</blockquote>
<p>Was genau verstehst du denn nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105667</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105667</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Sat, 13 Aug 2011 11:50:12 GMT</pubDate></item><item><title><![CDATA[Reply to Wörter in einem String ersetzen on Sat, 13 Aug 2011 11:56:43 GMT]]></title><description><![CDATA[<p>Ich bin nur von dieser Aussage irritiert:</p>
<blockquote>
<p>Verstehe ich nicht. Der Schleifenkörper wird so oft durchlaufen, wie das Wort vorkommt.</p>
</blockquote>
<p>Denn wenn das zutrifft widerspricht das meinem Verständnis des Codes völlig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105669</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105669</guid><dc:creator><![CDATA[NilsV]]></dc:creator><pubDate>Sat, 13 Aug 2011 11:56:43 GMT</pubDate></item><item><title><![CDATA[Reply to Wörter in einem String ersetzen on Sat, 13 Aug 2011 12:03:37 GMT]]></title><description><![CDATA[<p>Mach's mal richtig:</p>
<pre><code class="language-cpp">void ersetzen( string &amp;text, string alt, string neu ) {
    for (size_t x = text.find(alt); x != string::npos; x = text.find(alt,x+neu.length()))
     {
        text.replace(x, alt.length(), neu);
        cout &lt;&lt; &quot;Schleifendurchlauf&quot; &lt;&lt; endl;
     }
}
</code></pre>
<blockquote>
<p>Denn wenn das zutrifft widerspricht das meinem Verständnis des Codes völlig.</p>
</blockquote>
<p>Das ist nicht gut. 1. verstehst du den Code offensichtlich völlig falsch. 2. Sollte man so einen Code nicht falsch verstehen. Mir ist gar nicht klar, was da beim Verstehen bei dir schieflaufen könnte</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105672</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105672</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 13 Aug 2011 12:03:37 GMT</pubDate></item><item><title><![CDATA[Reply to Wörter in einem String ersetzen on Sat, 13 Aug 2011 12:24:10 GMT]]></title><description><![CDATA[<p>NilsV schrieb:</p>
<blockquote>
<p>Erwischt, ja ich hatte mit &quot;Grundkurs C++&quot; von J. W. angefangen, bevor ich hier im Forum über den Autor gelesen habe. Hab das Buch jetzt bei Seite gelegt und mir Herbert Schild's &quot;C++ Die professionelle Referenz&quot; zugelegt. Mächtiger Schinken aber abwechselnd mit ein Paar Tutorial's im Netz beiße ich mich da jetzt so allmählich durch.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
Fast alle Bücher von Herb Schildt über C und C++ sind nicht zu gebrauchen!<br />
Buchbewertungen von kompetenten Leuten: <a href="http://accu.org/index.php?module=bookreviews&amp;func=search&amp;q=schildt&amp;stype=author" rel="nofollow">http://accu.org/index.php?module=bookreviews&amp;func=search&amp;q=schildt&amp;stype=author</a><br />
Das &quot;not recommended&quot; fast überall sollte Dir zu denken geben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105680</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Sat, 13 Aug 2011 12:24:10 GMT</pubDate></item><item><title><![CDATA[Reply to Wörter in einem String ersetzen on Sat, 13 Aug 2011 19:45:14 GMT]]></title><description><![CDATA[<p>NilsV schrieb:</p>
<blockquote>
<blockquote>
<p>Dein Ansatz hat noch ein größeres Problem: Wenn der zu ersetzende Text im Ersatztext vorkommt, provozierst du eine Endlosschleife.</p>
</blockquote>
<p>Eine Endlosschleife konnte ich so nicht provozieren, allerdings wird das selbe Wort dann ein paar mal hintereinander gehängt, was auch nicht wünschenswert ist. Euer Ansatz verursacht da keine Probleme, vielen dank für den Hinweis.</p>
</blockquote>
<p>Das kommt ganz darauf an, welche Eingabewerte du übergibst. Mit ungünstigen Eingaben <a href="http://ideone.com/S5r98" rel="nofollow">kracht es</a></p>
<p>@npos: Das wichtigste daran ist, daß es ein speziell von string definierter size_t-Wert ist. Und dieser Wert wird für zwei Zwecke verwendet - find() und Kollegen geben es als Zeichen für &quot;nichts gefunden&quot; zurück, und bei vielen anderen Methoden wird es als (Default-)Argument für &quot;arbeite bis zum Stringende&quot; verwendet.</p>
<p>@Prototypen: Bei so kleinen Programmen ist es sinnlos, interessant wird es erst wenn du deine Programme in unabhängige Übersetzungseinheiten gliederst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105785</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 13 Aug 2011 19:45:14 GMT</pubDate></item><item><title><![CDATA[Reply to Wörter in einem String ersetzen on Sat, 13 Aug 2011 21:55:21 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>vielen Dank für eure zahlreichen Hilfestellungen, mein Verständnisproblem lag darin was string::npos eigentlich genau ist, mein Missgeschick mit den fehlenden Klammern bei der for-Schleife hat meiner Verwirrung dann den Rest gegeben. Der sprichwörtliche Groschen ist jetzt aber gefallen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2105816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2105816</guid><dc:creator><![CDATA[NilsV]]></dc:creator><pubDate>Sat, 13 Aug 2011 21:55:21 GMT</pubDate></item></channel></rss>