<?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[Dereferenzierte Zeiger und Dynamische Arrays]]></title><description><![CDATA[<p>Hallo zunächst,</p>
<p>ich habe zunächst einmal vor, einen string einzulesen.<br />
Das passiert dynamisch und ich erhalte einen Pointer zurück, welche auf den neu- anegelegten String zeigt.</p>
<p>Soweit so gut.<br />
Jetzt möchte ich, dass diese Datei per fopen verfügbar gemacht wird.</p>
<p>Nun kann ich ja mit einem Pointer bzw. dereferenzierten Pointer nicht mit z.B. fopen arbeiten. Sprich:</p>
<pre><code class="language-cpp">fopen=((*p_text),&quot;r+&quot;)
</code></pre>
<p>Daher mein Gedanke: Den Inhalt des Pointers in ein char Array umzuladen um damit die Variable für die Funktion zu haben.</p>
<p>Nun dachte ich an eine Funktion pointer_to_string.<br />
Diese Funktion bekommt die Adresse vom Pointer und die Länge des Strings(wurde beim Einlesen hochgezählt).</p>
<p>Jetzt habe ich auch hier folgendes Problem:<br />
Ich würde das ganze gerne ebenfalls dynamisch machen, indem ich über</p>
<pre><code class="language-cpp">temp=new char[laenge]
</code></pre>
<p>mir ein neues Array mit der Länge meines Strings erschaffe. Doch dabei wird ja wieder die Adresse dieses Arrays in der Variable temp gespeichert.<br />
Es erscheint mir wie ein Teufelskreis. Auch ich muss euch sagen, dass ich noch am Anfang des Programmierens stehe.</p>
<p>Viele Grüsse.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/243331/dereferenzierte-zeiger-und-dynamische-arrays</link><generator>RSS for Node</generator><lastBuildDate>Sun, 20 Sep 2026 04:35:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/243331.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 15 Jun 2009 16:15:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dereferenzierte Zeiger und Dynamische Arrays on Mon, 15 Jun 2009 16:15:09 GMT]]></title><description><![CDATA[<p>Hallo zunächst,</p>
<p>ich habe zunächst einmal vor, einen string einzulesen.<br />
Das passiert dynamisch und ich erhalte einen Pointer zurück, welche auf den neu- anegelegten String zeigt.</p>
<p>Soweit so gut.<br />
Jetzt möchte ich, dass diese Datei per fopen verfügbar gemacht wird.</p>
<p>Nun kann ich ja mit einem Pointer bzw. dereferenzierten Pointer nicht mit z.B. fopen arbeiten. Sprich:</p>
<pre><code class="language-cpp">fopen=((*p_text),&quot;r+&quot;)
</code></pre>
<p>Daher mein Gedanke: Den Inhalt des Pointers in ein char Array umzuladen um damit die Variable für die Funktion zu haben.</p>
<p>Nun dachte ich an eine Funktion pointer_to_string.<br />
Diese Funktion bekommt die Adresse vom Pointer und die Länge des Strings(wurde beim Einlesen hochgezählt).</p>
<p>Jetzt habe ich auch hier folgendes Problem:<br />
Ich würde das ganze gerne ebenfalls dynamisch machen, indem ich über</p>
<pre><code class="language-cpp">temp=new char[laenge]
</code></pre>
<p>mir ein neues Array mit der Länge meines Strings erschaffe. Doch dabei wird ja wieder die Adresse dieses Arrays in der Variable temp gespeichert.<br />
Es erscheint mir wie ein Teufelskreis. Auch ich muss euch sagen, dass ich noch am Anfang des Programmierens stehe.</p>
<p>Viele Grüsse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1727076</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1727076</guid><dc:creator><![CDATA[Hakanai]]></dc:creator><pubDate>Mon, 15 Jun 2009 16:15:09 GMT</pubDate></item><item><title><![CDATA[Reply to Dereferenzierte Zeiger und Dynamische Arrays on Mon, 15 Jun 2009 16:22:11 GMT]]></title><description><![CDATA[<p>Entschuldigung, aber ich habe gar keine Ahnung, wo dein Problem liegt <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="🙂"
    /><br />
Hast du den String bereits eingelesen? Wenn ja, ist es ein c-string (also char*) oder ein c++-string (std::string &lt;- den empfehle ich, wenn du C++ programmieren willst). So wie ich das herausgelesen habe, hast du dir eine eigene Funktion geschrieben, die den string einliest? Ziemlich seltsam.<br />
Am besten, du postest mal den gesamten Codeausschnitt, dann koennen wir dir wohl am ehesten helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1727077</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1727077</guid><dc:creator><![CDATA[Heinzelotto]]></dc:creator><pubDate>Mon, 15 Jun 2009 16:22:11 GMT</pubDate></item><item><title><![CDATA[Reply to Dereferenzierte Zeiger und Dynamische Arrays on Mon, 15 Jun 2009 16:25:03 GMT]]></title><description><![CDATA[<p>1. Wieso rohe C Arrays und keine <code>std::string</code> s?<br />
<a href="http://www.cplusplus.com/reference/string/" rel="nofollow">http://www.cplusplus.com/reference/string/</a><br />
2. Wieso <code>fopen</code> und nicht die C++ IO Streams?<br />
<a href="http://www.cplusplus.com/reference/iostream/" rel="nofollow">http://www.cplusplus.com/reference/iostream/</a><br />
3. <code>fopen</code> wie auch die Memberfunktion <code>open</code> eines <code>fstream</code> erwarten einen Zeiger zu einem nullterminierten Array: <code>char const*</code> .</p>
<p>Hakanai schrieb:</p>
<blockquote>
<p>Auch ich muss euch sagen, dass ich noch am Anfang des Programmierens stehe.</p>
</blockquote>
<p>Ziemlich offensichtlich <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>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1727081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1727081</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Mon, 15 Jun 2009 16:25:03 GMT</pubDate></item><item><title><![CDATA[Reply to Dereferenzierte Zeiger und Dynamische Arrays on Mon, 15 Jun 2009 16:26:18 GMT]]></title><description><![CDATA[<p>Danke für die Aufmerksamkeit zunächst <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>Ich habe es über einen c-string gemacht. Lerne es momentan so in der Schule : /<br />
Ja, diese Funktion liest einen Text ein und erschafft jedes Mal einen neuen Speicherplatz, welcher also dynamisch wächst, je nachdem wieviel man eingibt.</p>
<pre><code class="language-cpp">char* Text_einlesen(char* value,int* anzahl)
{
	char eingabe = 0;
	int laenge = 1;
	char* temp = NULL;

	if(value != NULL)
	{
		//alten Speicher freigeben
		delete[] value;
	}
	else
	{}

	do
	{
		//1. Zeichen einlesen
		eingabe = _getche();
		//2. neuen Speicher sichern
		laenge = laenge + 1;
		temp = new char[laenge];
		//3. Daten in den neuen Speicher kopieren
		for(int index=0;index&lt;(laenge-2);index++)
		{
			//3a. alter Speicher in neuen Speicher kopieren
			temp[index] = value[index];
		}
		//3b. neue Zeichen hinzufuegen
		temp[laenge-2] = eingabe;

		//4. Alten Speicher freigeben
		delete[] value;

		//5. neuen Zeiger nach Value &quot;verbiegen&quot; 
		value = temp;
		(*anzahl)=(*anzahl)+1;
	}while(eingabe != 13);

	//Text terminieren
	value[laenge-1] = '\0';

	return value;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1727083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1727083</guid><dc:creator><![CDATA[Hakanai]]></dc:creator><pubDate>Mon, 15 Jun 2009 16:26:18 GMT</pubDate></item></channel></rss>