<?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[Instanzen in Datei schreiben]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Problem mit Ostream. Der &quot;Mist&quot; wird einfach nicht in die Datei geschrieben. Könnt ihr mir sagen, wo mein Fehler liegt? Die Datei wird erstellt, aber nicht beschrieben.</p>
<pre><code class="language-cpp">void NeuPizza()
{
	string Dateiname;
	PizzaList *Neu;
	Neu = new PizzaList;
	Dateiname = Neu-&gt;Init();
	ofstream Out(&quot;PizzaListe2.dat&quot;, ios::out | ios::app);

	Out.write((char*)Neu, sizeof(Neu));

	cout
		&lt;&lt; &quot;Pizza \&quot;&quot;
		&lt;&lt; Dateiname
		&lt;&lt;&quot;\&quot; Erfolgreich geschrieben!&quot;
		&lt;&lt; endl;
	getch();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/284715/instanzen-in-datei-schreiben</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 20:12:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/284715.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 06 Apr 2011 17:09:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Instanzen in Datei schreiben on Wed, 06 Apr 2011 17:09:51 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Problem mit Ostream. Der &quot;Mist&quot; wird einfach nicht in die Datei geschrieben. Könnt ihr mir sagen, wo mein Fehler liegt? Die Datei wird erstellt, aber nicht beschrieben.</p>
<pre><code class="language-cpp">void NeuPizza()
{
	string Dateiname;
	PizzaList *Neu;
	Neu = new PizzaList;
	Dateiname = Neu-&gt;Init();
	ofstream Out(&quot;PizzaListe2.dat&quot;, ios::out | ios::app);

	Out.write((char*)Neu, sizeof(Neu));

	cout
		&lt;&lt; &quot;Pizza \&quot;&quot;
		&lt;&lt; Dateiname
		&lt;&lt;&quot;\&quot; Erfolgreich geschrieben!&quot;
		&lt;&lt; endl;
	getch();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2045593</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2045593</guid><dc:creator><![CDATA[Rumper]]></dc:creator><pubDate>Wed, 06 Apr 2011 17:09:51 GMT</pubDate></item><item><title><![CDATA[Reply to Instanzen in Datei schreiben on Wed, 06 Apr 2011 17:12:19 GMT]]></title><description><![CDATA[<p>Du versuchst binär zu schreiben ohne das ofstream::binary flag? Du überprüfst nicht, ob die Datei geöffnet werden konnte? Und ofstream ist ios::out.</p>
<p><a href="http://www.cplusplus.com/reference/iostream/ostream/write/" rel="nofollow">http://www.cplusplus.com/reference/iostream/ostream/write/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2045595</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2045595</guid><dc:creator><![CDATA[HighLigerBiMBam]]></dc:creator><pubDate>Wed, 06 Apr 2011 17:12:19 GMT</pubDate></item><item><title><![CDATA[Reply to Instanzen in Datei schreiben on Wed, 06 Apr 2011 17:46:10 GMT]]></title><description><![CDATA[<p>und außerdem erfasst write() nur die Daten, die innerhalb der Klasse enthalten sind. Viele Klassen (z.B. std::string oder std::vector&lt;&gt;) haben da nur einen Zeiger auf den Heap, hinter dem sie ihre Nutzdaten finden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2045621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2045621</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 06 Apr 2011 17:46:10 GMT</pubDate></item><item><title><![CDATA[Reply to Instanzen in Datei schreiben on Wed, 06 Apr 2011 20:28:42 GMT]]></title><description><![CDATA[<p>Rumper schrieb:</p>
<blockquote>
<p>Hallo,</p>
<p>ich habe ein Problem mit Ostream. Der &quot;Mist&quot; wird einfach nicht in die Datei geschrieben. Könnt ihr mir sagen, wo mein Fehler liegt? Die Datei wird erstellt, aber nicht beschrieben.</p>
<pre><code class="language-cpp">void NeuPizza()
{
	string Dateiname;
	PizzaList *Neu;
	Neu = new PizzaList;
	Dateiname = Neu-&gt;Init();
	ofstream Out(&quot;PizzaListe2.dat&quot;, ios::out | ios::app);

	Out.write((char*)Neu, sizeof(Neu));

	cout
		&lt;&lt; &quot;Pizza \&quot;&quot;
		&lt;&lt; Dateiname
		&lt;&lt;&quot;\&quot; Erfolgreich geschrieben!&quot;
		&lt;&lt; endl;
	getch();
}
</code></pre>
</blockquote>
<p>Da ist so ziemlich jede Zeile auf gut Deutsch &quot;scheiße&quot;. Wunderts dich?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2045724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2045724</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Wed, 06 Apr 2011 20:28:42 GMT</pubDate></item><item><title><![CDATA[Reply to Instanzen in Datei schreiben on Wed, 06 Apr 2011 21:23:13 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Da ist so ziemlich jede Zeile auf gut Deutsch &quot;scheiße&quot;. Wunderts dich?</p>
</blockquote>
<p>Na, wenn Rumper wüßte wie man es richtig macht, würde er wohl nicht fragen.<br />
Ich würde es gut finden, wenn man hier mit den Fragestellern etwas netter umgehen würde.</p>
<p>@Rumper: prüfe bitte, ob PizzaList ein <a href="http://en.wikipedia.org/wiki/Plain_old_data_structure" rel="nofollow">POD</a> ist. Falls nicht, so kannst Du sie nicht auf diese Weise binär schreiben und lesen. Ist die Datei danach völlig leer oder steht irgendetwas drin?</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2045752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2045752</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Wed, 06 Apr 2011 21:23:13 GMT</pubDate></item><item><title><![CDATA[Reply to Instanzen in Datei schreiben on Wed, 06 Apr 2011 22:21:04 GMT]]></title><description><![CDATA[<p>Hier mal ein paar Verbesserungsvorschkäge:</p>
<ol>
<li>Verwende einen Konstruktor, dann ersparst du dir das Init.</li>
<li>Erstelle die Pizzaliste auf dem Stack.</li>
<li>Überlade den ostream&amp; operator &lt;&lt; für deine Klasse Pizzaliste, dann ersparst du dir das POD gepfusche.</li>
<li>Lass getch() weg, nimm stattdessen std::cin.get();</li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/2045761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2045761</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Wed, 06 Apr 2011 22:21:04 GMT</pubDate></item><item><title><![CDATA[Reply to Instanzen in Datei schreiben on Wed, 06 Apr 2011 23:58:25 GMT]]></title><description><![CDATA[<p>Konkret liegt das (bzw. ein) Problem darin, dass</p>
<pre><code class="language-cpp">Out.write((char*)Neu, sizeof(Neu));
</code></pre>
<p>nur sizeof(PizzaList*) Byte in die Datei schreibt - also nur die ersten paar Byte. Wenn PizzaList alle relevanten Daten selbst enthält und POD ist, sollte</p>
<pre><code class="language-cpp">Out.write((char*)Neu, sizeof(*Neu));
</code></pre>
<p>das Problem lösen. Enthält PizzaList Verweise auf andere Objekte oder ist nicht POD (enthält beispielsweise virtuelle Methoden), wirst du die Serialisierung von Hand vornehmen müssen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2045779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2045779</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Wed, 06 Apr 2011 23:58:25 GMT</pubDate></item></channel></rss>