<?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[Austauschen von Zeichenketten]]></title><description><![CDATA[<p>Hallo,</p>
<p>es geht darum, eine Zeichenkette einzugeben zB: noch ein einzeller! (Rufzeichen beendet) Nun soll eine Abfolge von Zeichen in dieser Zeichenkette ersetzt werden.</p>
<p>ZB &quot;ein&quot; durch &quot;mehr&quot;, Ergebnis: &quot;noch mehr mehrzeller!&quot;</p>
<p>In erster Linie zunächst einmal wollte ich es mit <strong>gleich</strong> langen Zeichenketten ausprobieren:</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

char global[100];

void replace(char *wort, char *austausch, char *global){
int i, j=0, m=0;

for(;austausch[m]!='!';m++);
m=m-1; //Anzahl der Zeichen vom Austauschwort

for(i=0;global[i]!='!';i++) {

    if((global[i]==wort[i]) &amp;&amp; (global[i+1]==wort[i+1])) {

    global[i]=austausch[j];
    j++;
    }

if(j&gt;m) j=0;

}

}

int main() {

char global[100];
char austausch[100];
char wort[100];
int m=0;

cout &lt;&lt; &quot;Gib die Zeichenkette ein(endet mit !): &quot; &lt;&lt; endl;
cin.getline(global,100);

cout &lt;&lt; &quot;Parameter 1 eingeben: &quot; &lt;&lt; endl;
cin &gt;&gt; wort;

cout &lt;&lt; &quot;Parameter 2 eingeben: &quot; &lt;&lt; endl;
cin &gt;&gt; austausch;

replace(wort, austausch, global);

cout &lt;&lt;global;
}
</code></pre>
<p>Was genau funktioniert da nicht mit dem ersetzen? Verstehe ich nicht ganz...</p>
<p>Danke im Voraus!</p>
<p>prim</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/311348/austauschen-von-zeichenketten</link><generator>RSS for Node</generator><lastBuildDate>Mon, 03 Aug 2026 16:43:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/311348.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 03 Dec 2012 14:46:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Austauschen von Zeichenketten on Mon, 03 Dec 2012 14:46:45 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>es geht darum, eine Zeichenkette einzugeben zB: noch ein einzeller! (Rufzeichen beendet) Nun soll eine Abfolge von Zeichen in dieser Zeichenkette ersetzt werden.</p>
<p>ZB &quot;ein&quot; durch &quot;mehr&quot;, Ergebnis: &quot;noch mehr mehrzeller!&quot;</p>
<p>In erster Linie zunächst einmal wollte ich es mit <strong>gleich</strong> langen Zeichenketten ausprobieren:</p>
<pre><code>#include &lt;iostream&gt;

using namespace std;

char global[100];

void replace(char *wort, char *austausch, char *global){
int i, j=0, m=0;

for(;austausch[m]!='!';m++);
m=m-1; //Anzahl der Zeichen vom Austauschwort

for(i=0;global[i]!='!';i++) {

    if((global[i]==wort[i]) &amp;&amp; (global[i+1]==wort[i+1])) {

    global[i]=austausch[j];
    j++;
    }

if(j&gt;m) j=0;

}

}

int main() {

char global[100];
char austausch[100];
char wort[100];
int m=0;

cout &lt;&lt; &quot;Gib die Zeichenkette ein(endet mit !): &quot; &lt;&lt; endl;
cin.getline(global,100);

cout &lt;&lt; &quot;Parameter 1 eingeben: &quot; &lt;&lt; endl;
cin &gt;&gt; wort;

cout &lt;&lt; &quot;Parameter 2 eingeben: &quot; &lt;&lt; endl;
cin &gt;&gt; austausch;

replace(wort, austausch, global);

cout &lt;&lt;global;
}
</code></pre>
<p>Was genau funktioniert da nicht mit dem ersetzen? Verstehe ich nicht ganz...</p>
<p>Danke im Voraus!</p>
<p>prim</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2276820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2276820</guid><dc:creator><![CDATA[prim000]]></dc:creator><pubDate>Mon, 03 Dec 2012 14:46:45 GMT</pubDate></item><item><title><![CDATA[Reply to Austauschen von Zeichenketten on Mon, 03 Dec 2012 14:52:39 GMT]]></title><description><![CDATA[<p>ist das eine Hausaufgabe, in der du mit &quot;char*&quot; arbeiten <strong>musst</strong>? Ansonsten solltest du dir mal std::string::replace ansehen...</p>
<p><a href="http://www.cplusplus.com/reference/string/string/replace/" rel="nofollow">http://www.cplusplus.com/reference/string/string/replace/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2276821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2276821</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Mon, 03 Dec 2012 14:52:39 GMT</pubDate></item><item><title><![CDATA[Reply to Austauschen von Zeichenketten on Mon, 03 Dec 2012 14:59:02 GMT]]></title><description><![CDATA[<p>daddy_felix schrieb:</p>
<blockquote>
<p>ist das eine Hausaufgabe, in der du mit &quot;char*&quot; arbeiten <strong>musst</strong>? Ansonsten solltest du dir mal std::string::replace ansehen...</p>
<p><a href="http://www.cplusplus.com/reference/string/string/replace/" rel="nofollow">http://www.cplusplus.com/reference/string/string/replace/</a></p>
</blockquote>
<p>Ja, eine Aufgabe, wo ich char* benutzen muss leider... trotzdem danke für Antwort!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2276822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2276822</guid><dc:creator><![CDATA[prim000]]></dc:creator><pubDate>Mon, 03 Dec 2012 14:59:02 GMT</pubDate></item><item><title><![CDATA[Reply to Austauschen von Zeichenketten on Mon, 03 Dec 2012 15:08:09 GMT]]></title><description><![CDATA[<p>prim000 schrieb:</p>
<blockquote>
<pre><code>#include &lt;iostream&gt;

using namespace std;

char global[100];
</code></pre>
</blockquote>
<p>Wozu ist dieses global da? Das wird scheinbar nirgens benutzt.</p>
<p>prim000 schrieb:</p>
<blockquote>
<p>Was genau funktioniert da nicht mit dem ersetzen?</p>
</blockquote>
<p>Keine Ahnung. Hab ich mir jetzt nicht angeguckt. Hast du mal den Debugger verwendet und das, was du selbst fabriziert hast, Schritt für Schritt nachvollzogen? So solltest du ja eigentlich zum Ziel kommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2276823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2276823</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Mon, 03 Dec 2012 15:08:09 GMT</pubDate></item><item><title><![CDATA[Reply to Austauschen von Zeichenketten on Mon, 03 Dec 2012 15:15:30 GMT]]></title><description><![CDATA[<p>Du hast Recht, kann man weglöschen, weil unten eh mit Pointern gearbeitet wird.</p>
<p>Debugger? Ok, gibt es dazu ein gutes Tutorial? Ich benutze Codeblocks. Wird wohl langsam Zeit sich den mal genauer anzuschauen.</p>
<p>Würd mich trotzdem über weitere Hinweise sehr freuen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2276826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2276826</guid><dc:creator><![CDATA[prim000]]></dc:creator><pubDate>Mon, 03 Dec 2012 15:15:30 GMT</pubDate></item><item><title><![CDATA[Reply to Austauschen von Zeichenketten on Mon, 03 Dec 2012 15:24:59 GMT]]></title><description><![CDATA[<p>prim000 schrieb:</p>
<blockquote>
<p>Du hast Recht, kann man weglöschen, weil unten eh mit Pointern gearbeitet wird.</p>
<p>Debugger? Ok, gibt es dazu ein gutes Tutorial? Ich benutze Codeblocks. Wird wohl langsam Zeit sich den mal genauer anzuschauen.</p>
<p>Würd mich trotzdem über weitere Hinweise sehr freuen!</p>
</blockquote>
<p>Uff, das ist mir jetzt peinlich, ich überleg da seit einer Stunde und gleich nach dem Posten fällt mir ein Fehler auf:</p>
<pre><code>for(;austausch[m]!='!';m++);
m=m-1; //Anzahl der Zeichen vom Austauschwort

for(i=0;global[i]!='!';i++) {

    if((global[i]==wort[i]) &amp;&amp; (global[i+1]==wort[i+1])) {

    global[i]=austausch[j];
    j++;
    }

if(j&gt;m) j=0;

}
</code></pre>
<p>Das i bei wort[] in der if Abfrage kann ja nicht stimmen... Moment ich melde mich, wenn ich das Teilproblem löse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2276830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2276830</guid><dc:creator><![CDATA[prim000]]></dc:creator><pubDate>Mon, 03 Dec 2012 15:24:59 GMT</pubDate></item><item><title><![CDATA[Reply to Austauschen von Zeichenketten on Mon, 03 Dec 2012 21:16:55 GMT]]></title><description><![CDATA[<p>prim000 schrieb:</p>
<blockquote>
<p>Moment ich melde mich, wenn ich das Teilproblem löse.</p>
</blockquote>
<p>Tipp: besser Du zerlegst Dein Problem erst mal in zwei Teilprobleme:<br />
1.) eine Funktion</p>
<pre><code>char* search( char* text, int len_of_text, const char* pattern, int len_of_pattern );
</code></pre>
<p>diese Funktion sucht in der Zeichenfolge <code>text</code> mit der Länge <code>len_of_text</code> nach einer Zeichenfolge <code>pattern</code> mit der Länge von <code>len_of_pattern</code> und gibt den Zeiger auf die gefundene Zeichenfolge zurück oder NULL, wenn nichts gefunden wurde.<br />
2.)</p>
<pre><code>void replace( char* text, int len_of_text, int pos, int pos2, const char* place, int len_of_place );
</code></pre>
<p>tauscht in 'text' zwischen den Positionen [pos,pos2) die Zeichen durch 'place' aus. Der Aufrufer muss sich hier darum kümmern, dass kein Speicher überschrieben wird.</p>
<p>das ist einfacher, als mit einem Schlag beides gleichzeitig zu machen.</p>
<p>:xmas2: Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2276949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2276949</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Mon, 03 Dec 2012 21:16:55 GMT</pubDate></item></channel></rss>