<?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[Variable &amp;amp; Datei]]></title><description><![CDATA[<p>Hallo,<br />
gibt es eine einfache Möglichkeit, eine beliebige Variable in eine Datei zu schreiben (und herauszulesen)? Also ohne, dass ich immer einen eigenen Parser schreiben muss, der ein Objekt in einen String umwandelt und wieder zurück.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/285403/variable-amp-datei</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 07:44:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/285403.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 19 Apr 2011 19:05:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Variable &amp;amp; Datei on Tue, 19 Apr 2011 19:05:03 GMT]]></title><description><![CDATA[<p>Hallo,<br />
gibt es eine einfache Möglichkeit, eine beliebige Variable in eine Datei zu schreiben (und herauszulesen)? Also ohne, dass ich immer einen eigenen Parser schreiben muss, der ein Objekt in einen String umwandelt und wieder zurück.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2051789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2051789</guid><dc:creator><![CDATA[Wurst]]></dc:creator><pubDate>Tue, 19 Apr 2011 19:05:03 GMT</pubDate></item><item><title><![CDATA[Reply to Variable &amp;amp; Datei on Tue, 19 Apr 2011 19:10:32 GMT]]></title><description><![CDATA[<p>Ja. Solange die Variable keine Zeiger enthält, geht es mit dem binary-Stream ganz einfach.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2051790</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2051790</guid><dc:creator><![CDATA[Kaesebrot]]></dc:creator><pubDate>Tue, 19 Apr 2011 19:10:32 GMT</pubDate></item><item><title><![CDATA[Reply to Variable &amp;amp; Datei on Tue, 19 Apr 2011 19:11:04 GMT]]></title><description><![CDATA[<p>Was für eine Variable ist das denn? Bei einfachen Typen kannst du mit den Stream-Operatoren &gt;&gt; und &lt;&lt; sicher einiges erreichen (zur Not selber schreiben). Bei komplexeren Strukturen mußt du sicherstellen, daß du auch wirklich alle relevanten Bestandteile erfasst - das ist leider nicht so trivial zu lösen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2051791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2051791</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 19 Apr 2011 19:11:04 GMT</pubDate></item><item><title><![CDATA[Reply to Variable &amp;amp; Datei on Tue, 19 Apr 2011 22:42:56 GMT]]></title><description><![CDATA[<p>@ Kaesebrot: Hast du ein Code-Beispiel?</p>
<p>@ CStoll: Ich hatte es mir so vorgestellt, dass das Objekt einfach so in die Datei geschrieben wird, wie es im Arbeitsspeicher liegt. Also jeder Member eben.<br />
Ich kenne das z.B. aus Ruby und Pascal. Theoretisch reicht also auch eine Möglichkeit, die ein beliebiges Objekt in einen String wandeln kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2051851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2051851</guid><dc:creator><![CDATA[Wurst]]></dc:creator><pubDate>Tue, 19 Apr 2011 22:42:56 GMT</pubDate></item><item><title><![CDATA[Reply to Variable &amp;amp; Datei on Tue, 19 Apr 2011 23:26:13 GMT]]></title><description><![CDATA[<p>Für POD-Structs ohne Zeiger und Referenzen:</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;
#include &lt;iostream&gt;

struct foo {
  int x;
  int y;
};

int main() {
  struct foo bar = { 1, 2 };
  char const *const filename = &quot;test.txt&quot;;

  {
    std::ofstream out(filename);
    out.write(reinterpret_cast&lt;char*&gt;(&amp;bar), sizeof(bar));
  }

  bar.x = bar.y = 0;

  {
    std::ifstream in(filename);
    in.read(reinterpret_cast&lt;char*&gt;(&amp;bar), sizeof(bar));
  }

  std::cout &lt;&lt; bar.x &lt;&lt; &quot;, &quot; &lt;&lt; bar.y &lt;&lt; std::endl;
}
</code></pre>
<p>Enthält dein Objekt eine virtuelle Funktionstabelle oder sonstige Verweise auf andere Daten, wirst du diese von Hand auflösen müssen. In der Regel macht man das, indem man operator&lt;&lt; und operator&gt;&gt; für std::ostream respektive std::istream überlädt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2051858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2051858</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Tue, 19 Apr 2011 23:26:13 GMT</pubDate></item><item><title><![CDATA[Reply to Variable &amp;amp; Datei on Wed, 20 Apr 2011 13:19:35 GMT]]></title><description><![CDATA[<p>Okay, vielen Dank für die Hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2052079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2052079</guid><dc:creator><![CDATA[Wurst]]></dc:creator><pubDate>Wed, 20 Apr 2011 13:19:35 GMT</pubDate></item></channel></rss>