<?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[Problem beim Laden und anschließenden Zuweisen von Variablen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab ein Problem und komm einfach nicht weiter.</p>
<p>Ich speichere eine Instanz per &quot;outstream&quot; in einer Datei ab. Die Klasse von der die Instanz ist wurde nur zum Speichern angelegt. In ihr befinden sich nur Zeiger auf die Originalvariablen einer anderen Klasse. Diese andere Klasse besitz einen Konstruktor.</p>
<p>Wenn ich jetzt allerdings die Instanz aus der Datei per &quot;ifstream&quot; einlese und wieder den Zeigern oder den Originalvariablen zuweisen will, so klappt dies nicht. Die Varaiblen erhalten nur die Werte des Konstruktors.</p>
<p>Was mache ich dauernd falsch ? :headscratch:</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/131913/problem-beim-laden-und-anschließenden-zuweisen-von-variablen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 08:22:29 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/131913.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 06 Jan 2006 22:05:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem beim Laden und anschließenden Zuweisen von Variablen on Fri, 06 Jan 2006 22:05:31 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab ein Problem und komm einfach nicht weiter.</p>
<p>Ich speichere eine Instanz per &quot;outstream&quot; in einer Datei ab. Die Klasse von der die Instanz ist wurde nur zum Speichern angelegt. In ihr befinden sich nur Zeiger auf die Originalvariablen einer anderen Klasse. Diese andere Klasse besitz einen Konstruktor.</p>
<p>Wenn ich jetzt allerdings die Instanz aus der Datei per &quot;ifstream&quot; einlese und wieder den Zeigern oder den Originalvariablen zuweisen will, so klappt dies nicht. Die Varaiblen erhalten nur die Werte des Konstruktors.</p>
<p>Was mache ich dauernd falsch ? :headscratch:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/959183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/959183</guid><dc:creator><![CDATA[spacegaier]]></dc:creator><pubDate>Fri, 06 Jan 2006 22:05:31 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Laden und anschließenden Zuweisen von Variablen on Fri, 06 Jan 2006 22:38:43 GMT]]></title><description><![CDATA[<p>Code? Les was über Serialisierung.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/959197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/959197</guid><dc:creator><![CDATA[FireFlow]]></dc:creator><pubDate>Fri, 06 Jan 2006 22:38:43 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Laden und anschließenden Zuweisen von Variablen on Sat, 07 Jan 2006 13:55:48 GMT]]></title><description><![CDATA[<p>Kennst du vielleicht noch ein gut verständliches Tutorial, in dem Serialisierung behandelt wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/959633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/959633</guid><dc:creator><![CDATA[spacegaier]]></dc:creator><pubDate>Sat, 07 Jan 2006 13:55:48 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Laden und anschließenden Zuweisen von Variablen on Sat, 07 Jan 2006 14:37:00 GMT]]></title><description><![CDATA[<p>Ich Vermute du speicherst etwa so:</p>
<pre><code class="language-cpp">struct Speicher
{
   Speicher() { mem = new char[1024]; }
   ~Speicher() { delete[] mem; }
   char* mem;
};

Speicher speicher;
file.write(&amp;speicher, sizeof(Speicher));
</code></pre>
<p>Das geht natürlich nicht, wenn du den Zeiger wieder lädst gibts wohl nen Segmention Fault, weil du von der Stelle auf die der Zeiger damals gezeigt hast nicht mehr lesen/schreiben darfst. Der Inhalt hat sich wahrscheinlich auch schon geändert!</p>
<pre><code class="language-cpp">ostream&amp; operator&lt;&lt; (ostream&amp; lh, Speicher const&amp; rh)
{
    lh &lt;&lt; rh.mem;
}

istream&amp; operator&gt;&gt; (istream&amp; lh, Speicher&amp; rh)
{
    lh &gt;&gt; rh.mem;
}

Speicher speicher;
file &lt;&lt; speicher;
file &gt;&gt; speicher;
</code></pre>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/959673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/959673</guid><dc:creator><![CDATA[FireFlow]]></dc:creator><pubDate>Sat, 07 Jan 2006 14:37:00 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Laden und anschließenden Zuweisen von Variablen on Sat, 07 Jan 2006 16:44:59 GMT]]></title><description><![CDATA[<p>Nein,</p>
<p>ich speichere per ofstream/ifstream</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;

using namespace std;

int main()
{
hero player; //hero = eine Klasse

ofstream output (&quot;Spielstand.ppp&quot;, ios::binary);
output.write ((char*) &amp;player, sizeof (player));
output.close();
/*Ifstream wird bei mir aufgerufen nachdem man das Spiel neu startet und fortfahren anwählt (Sinn: alte Charahterwerte laden um dann weiterspielen zu können)*/

ifstream input(&quot;Spielstand.ppp&quot; ios::binary);
input.read((char*) &amp;player, sizeof (player));
input.close();
}
</code></pre>
<p>Da in der Klasse hero ein Konstruktor ist wird dieser nach dem Laden automatisch aufgerufen und meine Variablen aus dieser Klasse erhalten die Konstruktorwerte anststt der gespeicherten. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Was kann ich dagegen tun?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/959819</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/959819</guid><dc:creator><![CDATA[spacegaier]]></dc:creator><pubDate>Sat, 07 Jan 2006 16:44:59 GMT</pubDate></item></channel></rss>