<?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[Anfängerfrage: dynamisches char array]]></title><description><![CDATA[<p>HI @ all!</p>
<p>Bin neu hier und genauso neu in der C++ Welt.</p>
<p>Bin auf ein Problem gestoßen, das ich nicht verstehe.<br />
Hier mal der Code:</p>
<pre><code>void ArrayTest() {

	char* mystring = new char[10];

	mystring = &quot;ABC\0&quot;;

	cout &lt;&lt; mystring[0] &lt;&lt; endl;

	//Fehler
	mystring[0] = 97;

	cout &lt;&lt; mystring;
}
</code></pre>
<p>Alles funktioniert solange ich nicht die Zeile mystring[0] = 97 aufrufe. Nehme ich die Zeile mystring = &quot;ABC\0&quot;; raus dann geht alles.</p>
<p>Was passiert hier - eigentlich dürfte doch gar nix neu zugewiesen werden ?</p>
<p>Für ein wenig Hilfe wär ich sehr dankbar...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/146057/anfängerfrage-dynamisches-char-array</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 13:16:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/146057.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 03 May 2006 17:57:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anfängerfrage: dynamisches char array on Wed, 03 May 2006 17:57:15 GMT]]></title><description><![CDATA[<p>HI @ all!</p>
<p>Bin neu hier und genauso neu in der C++ Welt.</p>
<p>Bin auf ein Problem gestoßen, das ich nicht verstehe.<br />
Hier mal der Code:</p>
<pre><code>void ArrayTest() {

	char* mystring = new char[10];

	mystring = &quot;ABC\0&quot;;

	cout &lt;&lt; mystring[0] &lt;&lt; endl;

	//Fehler
	mystring[0] = 97;

	cout &lt;&lt; mystring;
}
</code></pre>
<p>Alles funktioniert solange ich nicht die Zeile mystring[0] = 97 aufrufe. Nehme ich die Zeile mystring = &quot;ABC\0&quot;; raus dann geht alles.</p>
<p>Was passiert hier - eigentlich dürfte doch gar nix neu zugewiesen werden ?</p>
<p>Für ein wenig Hilfe wär ich sehr dankbar...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050460</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050460</guid><dc:creator><![CDATA[Greenhorn2006]]></dc:creator><pubDate>Wed, 03 May 2006 17:57:15 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: dynamisches char array on Wed, 03 May 2006 18:06:38 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>du kannst an einen char* nicht so einfach ein String-Literal übergeben.<br />
Dazu must du die Funktion <em>strncpy</em> benutzen.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050464</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 03 May 2006 18:06:38 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: dynamisches char array on Wed, 03 May 2006 18:27:24 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void ArrayTest()
{
    //Mit new wird ein Speicherbereich reserviert
    //und der Zeiger darauf &quot;mystring&quot; zugewiesen.
    char* mystring = new char[10];

    //Die Literalkonstante &quot;ABC\0&quot; belegt Speicher im READ-ONLY Bereich
    //und der Zeiger darauf &quot;mystring&quot; zugewiesen. 
    //Die Position des zuvor mit new reservierten Speichers ist dem Programm dann nicht mehr bekannt.    
    mystring = &quot;ABC\0&quot;;
    //Ab hier ist es nicht mehr möglich den mit new reservierten Speicher mit delete freizugeben,
    //weil &quot;mystring&quot; plötzlich auf einen READ-ONLY Bereich zeigt, in dem sich 5 chars befinden:
    //'A', 'B', 'C', '\0', '\0'
    //Die Literalkonstante &quot;ABC&quot; würde den 4 chars 'A', 'B', 'C' und '\0' entsprechen.

    cout &lt;&lt; mystring[0] &lt;&lt; endl;

    //Fehler,
    //weil versucht wird in einem READ-ONLY Bereich zu schreiben.
    mystring[0] = 97;

    cout &lt;&lt; mystring;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1050473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050473</guid><dc:creator><![CDATA[schorsch code]]></dc:creator><pubDate>Wed, 03 May 2006 18:27:24 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: dynamisches char array on Wed, 03 May 2006 18:27:59 GMT]]></title><description><![CDATA[<p>Oder benutz in C++ doch gleich std::string, ist doch viel einfacher:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

int main() {
    string myString = &quot;ABC&quot;;
    cout &lt;&lt; myString &lt;&lt; endl;
    myString[0] = 97;
    cout &lt;&lt; myString &lt;&lt; endl;
}
</code></pre>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050474</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050474</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Wed, 03 May 2006 18:27:59 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: dynamisches char array on Wed, 03 May 2006 18:59:23 GMT]]></title><description><![CDATA[<p>Vielen Dank für eure Antworten</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/6950">@joomoo</a>: Wie gesagt ich bin neu in C++ und bis jetzt habe ich noch keine bessere Variante gefunden eineb Integer Wert in einen String zu konvertieren als die Methode:<br />
sprintf - die allerdings ein char* array übergeben haben möchte.<br />
Mein Problem is jetzt noch das wenn ich das einlese und das char* array dann versuche mit string.copy(myarray,... zu kopieren, dann bleibt alles leer in der Ausgabe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f622.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--crying_face"
      title=";("
      alt="😢"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050504</guid><dc:creator><![CDATA[Greenhorn2006]]></dc:creator><pubDate>Wed, 03 May 2006 18:59:23 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: dynamisches char array on Wed, 03 May 2006 19:02:33 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>die bste Art der Typmwandlung findest du in der C++FAq, im Thread <em>Einmal String und zurück</em>.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050507</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 03 May 2006 19:02:33 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: dynamisches char array on Wed, 03 May 2006 19:03:52 GMT]]></title><description><![CDATA[<p>Greenhorn2006 schrieb:</p>
<blockquote>
<p>Vielen Dank für eure Antworten</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/6950">@joomoo</a>: Wie gesagt ich bin neu in C++ und bis jetzt habe ich noch keine bessere Variante gefunden eineb Integer Wert in einen String zu konvertieren als die Methode:<br />
sprintf - die allerdings ein char* array übergeben haben möchte.</p>
</blockquote>
<p>Das gibt's auch für strings, schau mal im FAQ vorbei.</p>
<blockquote>
<p>Mein Problem is jetzt noch das wenn ich das einlese und das char* array dann versuche mit string.copy(myarray,... zu kopieren, dann bleibt alles leer in der Ausgabe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f622.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--crying_face"
      title=";("
      alt="😢"
    /></p>
</blockquote>
<p>Zeig mal den Code.</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050508</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Wed, 03 May 2006 19:03:52 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: dynamisches char array on Wed, 03 May 2006 19:19:03 GMT]]></title><description><![CDATA[<p>Werde es mal mit stringstream versuchen...danke für den Hinweis</p>
<pre><code>char* mystring = new char[10];

	int a = 4;
    unsigned int size = sprintf(mystring,&quot;%d&quot;,a);

	string s;
	s.copy(mystring,size,0);

	cout &lt;&lt; mystring &lt;&lt; &quot; &quot; &lt;&lt; size &lt;&lt; endl;
	cout &lt;&lt; s &lt;&lt; endl;
</code></pre>
<p>habs auch mal mit size+1 probiert in der copy methode ...gleiches Problem...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050527</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050527</guid><dc:creator><![CDATA[Greenhorn2006]]></dc:creator><pubDate>Wed, 03 May 2006 19:19:03 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: dynamisches char array on Wed, 03 May 2006 19:26:20 GMT]]></title><description><![CDATA[<p>Greenhorn2006 schrieb:</p>
<blockquote>
<p>Werde es mal mit stringstream versuchen...danke für den Hinweis</p>
<pre><code>char* mystring = new char[10];

	int a = 4;
    unsigned int size = sprintf(mystring,&quot;%d&quot;,a);

	string s;
	s.copy(mystring,size,0);

	cout &lt;&lt; mystring &lt;&lt; &quot; &quot; &lt;&lt; size &lt;&lt; endl;
	cout &lt;&lt; s &lt;&lt; endl;
</code></pre>
<p>habs auch mal mit size+1 probiert in der copy methode ...gleiches Problem...</p>
</blockquote>
<p>copy ist für string nach char*, andersrum kannst du einfach = benutzen.</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050535</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050535</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Wed, 03 May 2006 19:26:20 GMT</pubDate></item></channel></rss>