<?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[Fehlerhafter Umgang mit Zeigern?]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe ein Problem. Irgendwo im Code von strcpyNew(char*, char*) ist ein Fehler, der zum Programmabsturz führt. Sobald ich s1 irgendeinen Wert zuweisen möchte, stürzt das Programm ab. Findet jemand den Fehler?</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;conio.h&gt;
using namespace std;

void strcpyNew(char *s1, char *s2);
int main()
{
    char text[100]=&quot;Hallo, wie geht es dir?&quot;;
    char *text2;
    strcpyNew(text2, text);
    getch();
}

void strcpyNew(char *s1, char *s2)
{
      while(*s2 != '\0')
      {     
          *s1++ = *s2++;
      }
      *s1='\0';
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/304721/fehlerhafter-umgang-mit-zeigern</link><generator>RSS for Node</generator><lastBuildDate>Thu, 25 Jun 2026 07:23:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/304721.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 13 Jun 2012 07:32:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehlerhafter Umgang mit Zeigern? on Wed, 13 Jun 2012 07:32:50 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe ein Problem. Irgendwo im Code von strcpyNew(char*, char*) ist ein Fehler, der zum Programmabsturz führt. Sobald ich s1 irgendeinen Wert zuweisen möchte, stürzt das Programm ab. Findet jemand den Fehler?</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;conio.h&gt;
using namespace std;

void strcpyNew(char *s1, char *s2);
int main()
{
    char text[100]=&quot;Hallo, wie geht es dir?&quot;;
    char *text2;
    strcpyNew(text2, text);
    getch();
}

void strcpyNew(char *s1, char *s2)
{
      while(*s2 != '\0')
      {     
          *s1++ = *s2++;
      }
      *s1='\0';
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2222610</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222610</guid><dc:creator><![CDATA[Phisherman]]></dc:creator><pubDate>Wed, 13 Jun 2012 07:32:50 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhafter Umgang mit Zeigern? on Wed, 13 Jun 2012 07:34:43 GMT]]></title><description><![CDATA[<p>Dann überleg dir mal, wohin du kopierst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222611</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222611</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Wed, 13 Jun 2012 07:34:43 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhafter Umgang mit Zeigern? on Wed, 13 Jun 2012 07:40:25 GMT]]></title><description><![CDATA[<p>Eine Speicherallokation für s1 fehlt. Variablen werden in C++ aber doch nicht mit einem Wert initialisiert und zeigen nach der Deklaration auf irgendeine Speicherstelle im Rechner. Klappt es ohne die Allokation also nur in manchen Fällen, weil sonst eine Zugriffsverletzung auftritt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222613</guid><dc:creator><![CDATA[Phisherman]]></dc:creator><pubDate>Wed, 13 Jun 2012 07:40:25 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhafter Umgang mit Zeigern? on Wed, 13 Jun 2012 07:42:48 GMT]]></title><description><![CDATA[<blockquote>
<p>Sobald ich s1 irgendeinen Wert zuweisen möchte, stürzt das Programm ab.</p>
</blockquote>
<p>Du weisst aber nicht s1 einen Wert zu, sondern auf das worauf s1 zeigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222614</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222614</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 13 Jun 2012 07:42:48 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhafter Umgang mit Zeigern? on Wed, 13 Jun 2012 07:46:44 GMT]]></title><description><![CDATA[<p>knivil schrieb:</p>
<blockquote>
<blockquote>
<p>Sobald ich s1 irgendeinen Wert zuweisen möchte, stürzt das Programm ab.</p>
</blockquote>
<p>Du weisst aber nicht s1 einen Wert zu, sondern auf das worauf s1 zeigt.</p>
</blockquote>
<p>Ja, war von mir ungenau formuliert. s1 zeigt auf irgendeine Adresse. Wenn ich jetzt s1 derefenziere und einen neuen Wert zuweise ohne vorher Speicher zu allokieren, stürzt das Programm ab. Liegt das an einer Speicherzugriffsverletzung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222615</guid><dc:creator><![CDATA[Phisherman]]></dc:creator><pubDate>Wed, 13 Jun 2012 07:46:44 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhafter Umgang mit Zeigern? on Wed, 13 Jun 2012 07:54:18 GMT]]></title><description><![CDATA[<p>Phisherman schrieb:</p>
<blockquote>
<p>Ja, war von mir ungenau formuliert. s1 zeigt auf irgendeine Adresse. Wenn ich jetzt s1 derefenziere und einen neuen Wert zuweise ohne vorher Speicher zu allokieren, stürzt das Programm ab.</p>
</blockquote>
<p>Warum denkst du, dass das funktionieren sollte? Du kannst doch nicht einfach irgendwo wild in den Speicher schreiben!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222618</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222618</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 13 Jun 2012 07:54:18 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhafter Umgang mit Zeigern? on Wed, 13 Jun 2012 07:58:57 GMT]]></title><description><![CDATA[<p>Ich lern zur Zeit C++ mit dem Skript vom RWTH Aachen. Von dort ist der von mir oben gepostete Code (L48): <a href="http://www.gia.rwth-aachen.de/Lehre/Cpp/script/PROGRAMS/arrays-strcpy.c" rel="nofollow">http://www.gia.rwth-aachen.de/Lehre/Cpp/script/PROGRAMS/arrays-strcpy.c</a></p>
<p>Wenn ich deren Funktion verwenden würde, würde ich nicht davon ausgehen, dass ich vorher Speicher anfordern muss, um den String kopieren zu können.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222619</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222619</guid><dc:creator><![CDATA[Phisherman]]></dc:creator><pubDate>Wed, 13 Jun 2012 07:58:57 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhafter Umgang mit Zeigern? on Wed, 13 Jun 2012 08:02:23 GMT]]></title><description><![CDATA[<p>Phisherman schrieb:</p>
<blockquote>
<p>Ich lern zur Zeit C++ mit dem Skript vom RWTH Aachen. Von dort ist der von mir oben gepostete Code (L48): <a href="http://www.gia.rwth-aachen.de/Lehre/Cpp/script/PROGRAMS/arrays-strcpy.c" rel="nofollow">http://www.gia.rwth-aachen.de/Lehre/Cpp/script/PROGRAMS/arrays-strcpy.c</a></p>
<p>Wenn ich deren Funktion verwenden würde, würde ich nicht davon ausgehen, dass ich vorher Speicher anfordern muss, um den String kopieren zu können.</p>
</blockquote>
<p>Was ist der Unterschied zwischen text und text2?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222622</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Wed, 13 Jun 2012 08:02:23 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhafter Umgang mit Zeigern? on Wed, 13 Jun 2012 08:05:53 GMT]]></title><description><![CDATA[<p>manni66 schrieb:</p>
<blockquote>
<p>Phisherman schrieb:</p>
<blockquote>
<p>Ich lern zur Zeit C++ mit dem Skript vom RWTH Aachen. Von dort ist der von mir oben gepostete Code (L48): <a href="http://www.gia.rwth-aachen.de/Lehre/Cpp/script/PROGRAMS/arrays-strcpy.c" rel="nofollow">http://www.gia.rwth-aachen.de/Lehre/Cpp/script/PROGRAMS/arrays-strcpy.c</a></p>
<p>Wenn ich deren Funktion verwenden würde, würde ich nicht davon ausgehen, dass ich vorher Speicher anfordern muss, um den String kopieren zu können.</p>
</blockquote>
<p>Was ist der Unterschied zwischen text und text2?</p>
</blockquote>
<p>Ich folgere einfach mal daraus, dass du mit darauf anspielst, dass deren Lösung nur für statische Vektoren konzipiert ist. Dann hat sich das erledigt. Danke für eure schnelle Unterstützung!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222624</guid><dc:creator><![CDATA[Phisherman]]></dc:creator><pubDate>Wed, 13 Jun 2012 08:05:53 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhafter Umgang mit Zeigern? on Wed, 13 Jun 2012 08:11:16 GMT]]></title><description><![CDATA[<blockquote>
<p>Ich folgere einfach mal daraus, dass du mit darauf anspielst, dass deren Lösung nur für statische Vektoren konzipiert ist.</p>
</blockquote>
<p>Nein! Die beiden Zeiger muessen auf Speicher zeigen, der dir gehoert.</p>
<p>Du kannst ja auch nicht in ein fremdes Haus kacken, es muss dir gehoeren. Wenn du keins hast, dann musst du dir vorher ein kaufen. Genauso bei Speicher. Wenn du welchen brauchst, dann must du du welchen anfordern, beispielsweise mit <code>new</code> oder <code>malloc</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222625</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222625</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 13 Jun 2012 08:11:16 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhafter Umgang mit Zeigern? on Wed, 13 Jun 2012 08:09:27 GMT]]></title><description><![CDATA[<p>Könntest du bitte konkret werden? Ich weiß sonst nicht, wo der Fehler liegt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222627</guid><dc:creator><![CDATA[Phisherman]]></dc:creator><pubDate>Wed, 13 Jun 2012 08:09:27 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhafter Umgang mit Zeigern? on Wed, 13 Jun 2012 08:09:51 GMT]]></title><description><![CDATA[<p>Ja, wenn Du &quot;irgendeine Adresse&quot; dereferenzierst, verletzt Du Speicherzugriffsrechte. Deshalb stürzt Dein Programm ab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222628</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222628</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 13 Jun 2012 08:09:51 GMT</pubDate></item><item><title><![CDATA[Reply to Fehlerhafter Umgang mit Zeigern? on Wed, 13 Jun 2012 08:30:09 GMT]]></title><description><![CDATA[<p>Phisherman schrieb:</p>
<blockquote>
<p>[...] ich nicht davon ausgehen, dass ich vorher Speicher anfordern muss, um den String kopieren zu können.</p>
</blockquote>
<p>Dann liegst du falsch. Wenn dich Programmieren in C++ wirklich interessiert, dann besorg dir ein schlaues Buch dazu. Beachte, dass es auch viele blöde Bücher zum Thema gibt, sowie blöde Tutorials. Vertraue auf Rezensionen von Leuten, die Ahnung haben. Sonst läufst du noch in <a href="http://xkcd.com/937/" rel="nofollow">folgende Falle</a>. Ich finde &quot;Accelerated C++&quot; ja ganz toll (gibt's auch auf Deutsch, aber ich weiß nicht, ob die Übersetzung gut gelungen ist). Es ist eine kompakte Einführung in C++ auf eine &quot;moderne Art&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222629</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 13 Jun 2012 08:30:09 GMT</pubDate></item></channel></rss>