<?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 in eine Datei speichern und Objekt zuweisen]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe eine Klasse mit mehreren Variablen. Diese sollen nun in ein Datei gespeichert werden. Alle Tutorials die ich im Netz gefunden haben zeigen mir wie ich ein String in eine txt Datei speichere. Was mir nicht sonderlich hilft.</p>
<p>Ich möchte einfach nur ein Objekt erstellen. Die Daten in die Datei speichern. Später würde ich dann gerne die Datei öffnen und die Daten wieder zuweisen können.</p>
<p>Habs schon mit der Suche versucht.</p>
<p>variable datei<br />
variable*<br />
datei*<br />
variable* in datei</p>
<p>haben bisher keine brauchbare Lösung erbracht.</p>
<p>Wenn ihr nen guten Link habt wär das schon hilfreich. Ich versuch mich dann dort durch zu boxen <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>Gruß<br />
Croatiancow</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/154865/variable-in-eine-datei-speichern-und-objekt-zuweisen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 11:13:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/154865.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 31 Jul 2006 13:45:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Variable in eine Datei speichern und Objekt zuweisen on Mon, 31 Jul 2006 13:45:22 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe eine Klasse mit mehreren Variablen. Diese sollen nun in ein Datei gespeichert werden. Alle Tutorials die ich im Netz gefunden haben zeigen mir wie ich ein String in eine txt Datei speichere. Was mir nicht sonderlich hilft.</p>
<p>Ich möchte einfach nur ein Objekt erstellen. Die Daten in die Datei speichern. Später würde ich dann gerne die Datei öffnen und die Daten wieder zuweisen können.</p>
<p>Habs schon mit der Suche versucht.</p>
<p>variable datei<br />
variable*<br />
datei*<br />
variable* in datei</p>
<p>haben bisher keine brauchbare Lösung erbracht.</p>
<p>Wenn ihr nen guten Link habt wär das schon hilfreich. Ich versuch mich dann dort durch zu boxen <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>Gruß<br />
Croatiancow</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1107789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1107789</guid><dc:creator><![CDATA[Croatiancow]]></dc:creator><pubDate>Mon, 31 Jul 2006 13:45:22 GMT</pubDate></item><item><title><![CDATA[Reply to Variable in eine Datei speichern und Objekt zuweisen on Mon, 31 Jul 2006 13:50:27 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Wenn du weißt, wie man strings und andere Variablen in einer Datei speichert, dann kannst du doch einfach alle Member deiner Klasse in einer Datei speichern.</p>
<p>Schau dir dazu ofstream und ifstream an.</p>
<p>chrische</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1107795</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1107795</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 31 Jul 2006 13:50:27 GMT</pubDate></item><item><title><![CDATA[Reply to Variable in eine Datei speichern und Objekt zuweisen on Mon, 31 Jul 2006 14:16:46 GMT]]></title><description><![CDATA[<p>Wenns nicht zu Lernzwecken ist kannst du dir <a href="http://www.boost.org/libs/serialization/doc/index.html" rel="nofollow">Boost.Serialization</a> anschauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1107810</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1107810</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Mon, 31 Jul 2006 14:16:46 GMT</pubDate></item><item><title><![CDATA[Reply to Variable in eine Datei speichern und Objekt zuweisen on Mon, 31 Jul 2006 15:56:50 GMT]]></title><description><![CDATA[<p>Nein es dient nicht zu lernzwecken.<br />
Mit dem Boost komm ich irgendwie nicht klar.</p>
<p>Ich Schaffe es zwar mi diesem Code</p>
<pre><code class="language-cpp">ofstream outfile;
  outfile.open (&quot;test.txt&quot;);
  outfile.write(&quot;test&quot;,4);

  outfile.close();
</code></pre>
<p>Einen String in die Datei zu schreiben, mit einer Variable gehts aber nicht.</p>
<p>Ich habs mit nem einfachen int versucht. Auch ein</p>
<pre><code class="language-cpp">IntToStr()
</code></pre>
<p>hat nicht geholfen.</p>
<p>Danke für eure mühe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1107870</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1107870</guid><dc:creator><![CDATA[Croatiancow]]></dc:creator><pubDate>Mon, 31 Jul 2006 15:56:50 GMT</pubDate></item><item><title><![CDATA[Reply to Variable in eine Datei speichern und Objekt zuweisen on Mon, 31 Jul 2006 16:23:35 GMT]]></title><description><![CDATA[<p>Mal als Beispiel</p>
<pre><code class="language-cpp">int i = 4;
double d = 4.7;
ofstream outfile(&quot;test.txt&quot;, ios::binary);
outfile.write(reinterpret_cast&lt;const char*&gt;(&amp;i),sizeof(i));
outfile.write(reinterpret_cast&lt;const char*&gt;(&amp;d),sizeof(d));
</code></pre>
<p>Du mußt dir bewußt sein, dass write binär rausschreibt. Wenn du Text haben willst reichte ein einfaches.</p>
<pre><code class="language-cpp">int i = 4;
double d = 4.7;
ofstream outfile(&quot;test.txt&quot;);
outfile &lt;&lt; i &lt;&lt; &quot; &quot; &lt;&lt; d;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1107879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1107879</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Mon, 31 Jul 2006 16:23:35 GMT</pubDate></item><item><title><![CDATA[Reply to Variable in eine Datei speichern und Objekt zuweisen on Mon, 31 Jul 2006 17:49:59 GMT]]></title><description><![CDATA[<p>Croatiancow schrieb:</p>
<blockquote>
<p>Mit dem Boost komm ich irgendwie nicht klar.</p>
</blockquote>
<p>Wo liegt denn das Problem?</p>
<p>mfg.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1107936</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1107936</guid><dc:creator><![CDATA[joomoo]]></dc:creator><pubDate>Mon, 31 Jul 2006 17:49:59 GMT</pubDate></item><item><title><![CDATA[Reply to Variable in eine Datei speichern und Objekt zuweisen on Tue, 01 Aug 2006 08:24:39 GMT]]></title><description><![CDATA[<p>Da er IntToStr() erwähnt hat, denke ich mal, dass er mit dem BCB arbeitet. Die Installation der meisten boost Bibliotheken ist da kein Problem (zumindest beim BCB5 und 6). Das trifft aber nicht auf serialization zu. Es ist zwar möglich das zu installieren, aber nicht einfach (benötigt spirit 1.6.).<br />
Ich halte boost::serialization für das einfach Speichern einer struct aber für overkill. Das einfache Schreiben von read/write-Memberfunktionen für diese struct ist einfacher.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1108242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1108242</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 01 Aug 2006 08:24:39 GMT</pubDate></item><item><title><![CDATA[Reply to Variable in eine Datei speichern und Objekt zuweisen on Tue, 01 Aug 2006 11:17:08 GMT]]></title><description><![CDATA[<p><a href="https://duckduckgo.com/?q=isbn+3028844177666&amp;cppnetbooks" rel="nofollow">ISBN: 3028844177666</a></p>
<p>kaufen, lesen, danach kannst du variablen in eine datei schreiben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1108409</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1108409</guid><dc:creator><![CDATA[Helfer in der Not]]></dc:creator><pubDate>Tue, 01 Aug 2006 11:17:08 GMT</pubDate></item><item><title><![CDATA[Reply to Variable in eine Datei speichern und Objekt zuweisen on Tue, 01 Aug 2006 16:17:27 GMT]]></title><description><![CDATA[<p>Ich habe es mit Boost versucht aber irgendwie findet er die Dateien nicht. Später habe ich das mit dem spirit 1.6 gelesen. Irgendwann wurde es aber zuviel arbeit. Ich mein es muss doch auch einen &quot;Fußweg&quot; geben. Daten rein, später wieder raus. Fertig.</p>
<p>Vorschlag von Braunstein klingt gut. Ich habe das mit dem String schon hingekriegt. Könntet ihr mir vielleicht den unten stehenden Befehl erläutern?<br />
mir macht nur das &quot;reinterpret_cast&lt;const char*&gt;&quot; sorgen. Was ist das??</p>
<pre><code class="language-cpp">outfile.write(reinterpret_cast&lt;const char*&gt;(&amp;i),sizeof(i));
</code></pre>
<p>Es stellt sich auch die frage wie ich das wieder abrufe??</p>
<p>Was wird denn als Trennzeichen benutzt??</p>
<p>Grüße aus Kroatien <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1108694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1108694</guid><dc:creator><![CDATA[_Croatiancow]]></dc:creator><pubDate>Tue, 01 Aug 2006 16:17:27 GMT</pubDate></item><item><title><![CDATA[Reply to Variable in eine Datei speichern und Objekt zuweisen on Tue, 01 Aug 2006 16:31:24 GMT]]></title><description><![CDATA[<p>Der reinterpret_cast wandelt die Adresse deiner Variable in ein const char* um, weil genau das bei write verlangt wird. write schreibt also soviele Bytes wie in size angegeben von dieser Position in deine datei. Die Umkehrung dazu heißt read.</p>
<pre><code class="language-cpp">infile.read(reinterpret_cast&lt;char*&gt;(&amp;i),sizeof(i));
</code></pre>
<p>Hier mußt du in char* casten da du ja auf die Position deiner Variable schreiben willst.</p>
<p>Noch ein Hinweis zu strings. Das Rausschreiben geht hier zwar sehr einfach, es gibt aber Probleme beim Einlesen. read braucht nämlich die zu lesende Anzahl und die hast du ja normalerweise nicht. Du mußt also hier zuerst die Anzahl der Zeichen im string rausschreiben und dann den string selbst. Beim Einlesen geht man dann umgekehrt vor.</p>
<pre><code class="language-cpp">string test(&quot;Hallo&quot;);
size_t len = test.size();
outfile.write(reinterpret_cast&lt;const char*&gt;(&amp;len),sizeof(len));
outfile.write(test.c_str(),len); // hier kein cast nötig da c_str() const char* liefert
//einlesen
size_t len;
infile.read(reinterpret_cast&lt;char*&gt;(&amp;len),sizeof(len)); //Länge einlesen
char* buffer = new buffer[len+1]; //entsprechenden Puffer zum Einlesen erzeugen
infile.read(buffer,len); //in den Puffer einlesen
buffer[len] = '\0'; // Nullterminierung an das Ende schreiben
string text = buffer; //Puffer in den string überführen
delete[] buffer;
</code></pre>
<p>Du kannst dir das aber alles vereinfachen, indem du die Streamoperatoren (&lt;&lt; &gt;&gt;) verwendest und im Textmodus schreibst und liest. Die Datei wird zwar größer, dafür ist das schreiben und lesen einfacher und leichter zu debuggen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1108702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1108702</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 01 Aug 2006 16:31:24 GMT</pubDate></item><item><title><![CDATA[Reply to Variable in eine Datei speichern und Objekt zuweisen on Fri, 04 Aug 2006 15:58:54 GMT]]></title><description><![CDATA[<p>Hallo nochmal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Ich habe das schreiben in die Datei hinbekommen. Ich krieg aber das Auslesen nicht hin.</p>
<p>Beispiel:</p>
<pre><code>ofstream outfile(&quot;test.txt&quot;);
 Artikel art;
 art.price=78.9;
 art.bezeichnung=&quot;Artikelbeschreibung&quot;;
 int len=strlen(reinterpret_cast&lt;const char*&gt;(art.bezeichnung.data()));
 outfile.write(reinterpret_cast&lt;const char*&gt;(IntToStr(len).data()),2);
 outfile.write(&quot;-&quot;,1);
 outfile.write(reinterpret_cast&lt;const char*&gt;(art.bezeichnung.data()),art.bezeichnung.Length());
 outfile.write(&quot;\n&quot;,1);
 outfile.write(&quot;04-&quot;,3);
 outfile.write(reinterpret_cast&lt;const char*&gt;(FloatToStr(art.price).data()),4);
</code></pre>
<p>Die Textdatei bleibt bei dieser Formatierung übersichtlich und &quot;Durchschaubar&quot;.<br />
Wenn ich auslesen will muss ich den Coursor auf &quot;Seek_Set&quot; setzen. Damit ich von vorne Anfange.</p>
<p>Zuerst lese ich die Länge des String aus. IMMER im format XX-&quot;String&quot;;<br />
Springe dann an Position 3 in der Aktuellen Zeile und lese per Schleife aus.</p>
<p>Meine Frage:</p>
<p>Wie mache ich das am besten OHNE das Programm langsam zu machen?<br />
Wie teile ich dem Coursor mit das er rumspringen soll?<br />
Jetzt benutze ich statt &quot;ofstream&quot; &quot;ifstream&quot; richtig??</p>
<p>Ihr könnt auch gerne verlinken. Es sollte halt meine Frage(n) beantworten oder weiterhelfen.<br />
Danke für eure Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1110666</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1110666</guid><dc:creator><![CDATA[Croatiancow]]></dc:creator><pubDate>Fri, 04 Aug 2006 15:58:54 GMT</pubDate></item><item><title><![CDATA[Reply to Variable in eine Datei speichern und Objekt zuweisen on Fri, 04 Aug 2006 16:24:10 GMT]]></title><description><![CDATA[<p>Du mußt eigentlich nicht hin und herspringen wenn alle Objekte schön hintereinander abgelegt sind. Ohn Code (zum Auslesen) kann man hier aber nicht viel sagen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1110680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1110680</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 04 Aug 2006 16:24:10 GMT</pubDate></item></channel></rss>