<?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[[erledigt] String-Funktion]]></title><description><![CDATA[<p>hi,<br />
ich versuche derzeit, von einem Buch geleitet, eine String Funktion (wenn man sie so nennen kann) als Übungsaufgabe zu schreiben. Leider macht meine Funktion nicht das, was ich will, obwohl sie doch recht einfach gehalten ist:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
using namespace std;

char* string1( char *s );
int length( char *s );

char* string1( char *s )
{
	cout &lt;&lt; &quot;s = &quot; &lt;&lt; s &lt;&lt; endl;                      // Ausgabe hier: &quot;stringtest01&quot;
	int i = length(s);
	char *p = new char[i+1];
	while(*p++ = *s++);
	cout &lt;&lt; &quot;len = &quot; &lt;&lt; i &lt;&lt; &quot; p = &quot; &lt;&lt; p &lt;&lt; endl;    // Ausgabe hier: &quot;len = 12 p = &quot;
	return p;
}

int length( char *s )
{
	int leng=0;
	while(*s++) leng++;
	return leng;
}

int main()
{
	cout &lt;&lt; string1(&quot;stringtest01&quot;) &lt;&lt; endl;
}
</code></pre>
<p>Die Funktion ist wirklich sehr simpel, deshalb wunderte es mich um so mehr, dass sie nicht richtig funktioniert...<br />
Kompilliert wird mein Code ohne Probleme, jedoch gibt mein selbstgebauter kleiner String nichts zurück ( p = ).<br />
kann mir bitte jemand verraten was hier falsch ist, denn ich komm einfach nicht drauf. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/209085/erledigt-string-funktion</link><generator>RSS for Node</generator><lastBuildDate>Mon, 12 Oct 2026 08:19:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/209085.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 26 Mar 2008 14:53:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [erledigt] String-Funktion on Wed, 26 Mar 2008 15:52:12 GMT]]></title><description><![CDATA[<p>hi,<br />
ich versuche derzeit, von einem Buch geleitet, eine String Funktion (wenn man sie so nennen kann) als Übungsaufgabe zu schreiben. Leider macht meine Funktion nicht das, was ich will, obwohl sie doch recht einfach gehalten ist:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
using namespace std;

char* string1( char *s );
int length( char *s );

char* string1( char *s )
{
	cout &lt;&lt; &quot;s = &quot; &lt;&lt; s &lt;&lt; endl;                      // Ausgabe hier: &quot;stringtest01&quot;
	int i = length(s);
	char *p = new char[i+1];
	while(*p++ = *s++);
	cout &lt;&lt; &quot;len = &quot; &lt;&lt; i &lt;&lt; &quot; p = &quot; &lt;&lt; p &lt;&lt; endl;    // Ausgabe hier: &quot;len = 12 p = &quot;
	return p;
}

int length( char *s )
{
	int leng=0;
	while(*s++) leng++;
	return leng;
}

int main()
{
	cout &lt;&lt; string1(&quot;stringtest01&quot;) &lt;&lt; endl;
}
</code></pre>
<p>Die Funktion ist wirklich sehr simpel, deshalb wunderte es mich um so mehr, dass sie nicht richtig funktioniert...<br />
Kompilliert wird mein Code ohne Probleme, jedoch gibt mein selbstgebauter kleiner String nichts zurück ( p = ).<br />
kann mir bitte jemand verraten was hier falsch ist, denn ich komm einfach nicht drauf. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1480688</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480688</guid><dc:creator><![CDATA[double *T]]></dc:creator><pubDate>Wed, 26 Mar 2008 15:52:12 GMT</pubDate></item><item><title><![CDATA[Reply to [erledigt] String-Funktion on Wed, 26 Mar 2008 15:07:17 GMT]]></title><description><![CDATA[<p>Nicht der Fehler..</p>
<p>EDIT:<br />
Freigeben solltest du aber den Speicher wieder..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1480694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480694</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 26 Mar 2008 15:07:17 GMT</pubDate></item><item><title><![CDATA[Reply to [erledigt] String-Funktion on Wed, 26 Mar 2008 15:02:59 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">// ...
char *p = new char[i+1];
while(*p++ = *s++);
cout &lt;&lt; &quot;len = &quot; &lt;&lt; i &lt;&lt; &quot; p = &quot; &lt;&lt; p &lt;&lt; endl;    // Ausgabe hier: &quot;len = 12 p = &quot;
return p;
</code></pre>
<p>Du gibst den Zeiger p zurück, der aber auf Ende zeigt.<br />
Fürs kopieren musst Du dir eine kopie des Zeigers machen:</p>
<pre><code class="language-cpp">// ...
char *p = new char[i+1];
char *q = p;
while(*q++ = *s++);
cout &lt;&lt; &quot;len = &quot; &lt;&lt; i &lt;&lt; &quot; p = &quot; &lt;&lt; p &lt;&lt; endl;    // Ausgabe hier: &quot;len = 12 p = &quot;
return p;
</code></pre>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1480695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480695</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Wed, 26 Mar 2008 15:02:59 GMT</pubDate></item><item><title><![CDATA[Reply to [erledigt] String-Funktion on Wed, 26 Mar 2008 15:16:47 GMT]]></title><description><![CDATA[<p>Ich danke vielmals für die schnelle Antwort, es funktioniert jetzt einwandfrei <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1480711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1480711</guid><dc:creator><![CDATA[double *T]]></dc:creator><pubDate>Wed, 26 Mar 2008 15:16:47 GMT</pubDate></item></channel></rss>