<?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[STL Map in Datei schreiben und lesen]]></title><description><![CDATA[<p>Hallo allerseits,<br />
Mein Problem ist folgendes:</p>
<p>Ich möchte eine STL Map in eine Datei schreiben:</p>
<pre><code class="language-cpp">std::map&lt;int, std::string&gt; mscore;

std::ofstream score(&quot;Data/Score.zpd&quot;);

mscore[100] = std::string(&quot;Jens&quot;); // Hier wird die Map mit Daten gefüllt
mscore[250] = std::string(&quot;Stefan&quot;);
mscore[400] = std::string(&quot;Lena&quot;);
mscore[750] = std::string(&quot;Daniel&quot;);
mscore[1000] = std::string(&quot;Michael&quot;);
mscore[1400] = std::string(&quot;Paul&quot;);
mscore[2000] = std::string(&quot;Frank&quot;);
mscore[5000] = std::string(&quot;Gaun&quot;);
score.write((char*)&amp;mscore, sizeof(mscore));
score.close();
</code></pre>
<p>Bis hierhin funktioniert auch alles. Zumindest hat die Datei einen Inhalt, wenn man mal mit dem Editor reinschaut.</p>
<p>Später möchte ich mit einem anderen Programm die Datei öffnen:</p>
<pre><code class="language-cpp">std::map&lt;int, std::string&gt; mscore;

std::ifstream score(&quot;Data/Score.zpd&quot;);

score.read((char*)&amp;mscore, sizeof(mscore)); // Irgendwas stimmt hier vielleicht nicht
score.close();
</code></pre>
<p>Auf jeden Fall ist die Map nach der score.read Funktion mit 8 Error Einträgen gefüllt und ich verstehe nicht wieso. Die Header sind alle eingebunden und es gibt auch keine Compiler oder Runtime Fehler, die Map ist nur leider mit Fehlereinträgen gefüllt.</p>
<p>Würde mich über schnelle Hilfe freuen <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>mfg Zadro</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/264136/stl-map-in-datei-schreiben-und-lesen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 05:55:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/264136.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 02 Apr 2010 16:18:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to STL Map in Datei schreiben und lesen on Fri, 02 Apr 2010 16:18:38 GMT]]></title><description><![CDATA[<p>Hallo allerseits,<br />
Mein Problem ist folgendes:</p>
<p>Ich möchte eine STL Map in eine Datei schreiben:</p>
<pre><code class="language-cpp">std::map&lt;int, std::string&gt; mscore;

std::ofstream score(&quot;Data/Score.zpd&quot;);

mscore[100] = std::string(&quot;Jens&quot;); // Hier wird die Map mit Daten gefüllt
mscore[250] = std::string(&quot;Stefan&quot;);
mscore[400] = std::string(&quot;Lena&quot;);
mscore[750] = std::string(&quot;Daniel&quot;);
mscore[1000] = std::string(&quot;Michael&quot;);
mscore[1400] = std::string(&quot;Paul&quot;);
mscore[2000] = std::string(&quot;Frank&quot;);
mscore[5000] = std::string(&quot;Gaun&quot;);
score.write((char*)&amp;mscore, sizeof(mscore));
score.close();
</code></pre>
<p>Bis hierhin funktioniert auch alles. Zumindest hat die Datei einen Inhalt, wenn man mal mit dem Editor reinschaut.</p>
<p>Später möchte ich mit einem anderen Programm die Datei öffnen:</p>
<pre><code class="language-cpp">std::map&lt;int, std::string&gt; mscore;

std::ifstream score(&quot;Data/Score.zpd&quot;);

score.read((char*)&amp;mscore, sizeof(mscore)); // Irgendwas stimmt hier vielleicht nicht
score.close();
</code></pre>
<p>Auf jeden Fall ist die Map nach der score.read Funktion mit 8 Error Einträgen gefüllt und ich verstehe nicht wieso. Die Header sind alle eingebunden und es gibt auch keine Compiler oder Runtime Fehler, die Map ist nur leider mit Fehlereinträgen gefüllt.</p>
<p>Würde mich über schnelle Hilfe freuen <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>mfg Zadro</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1876911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1876911</guid><dc:creator><![CDATA[Zadro]]></dc:creator><pubDate>Fri, 02 Apr 2010 16:18:38 GMT</pubDate></item><item><title><![CDATA[Reply to STL Map in Datei schreiben und lesen on Fri, 02 Apr 2010 16:20:38 GMT]]></title><description><![CDATA[<p>Du musst über die Map iterieren und Eintrag für Eintrag selbst in die Datei schreiben. Am besten überlädst du hierzu den operator&lt;&lt;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1876912</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1876912</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Fri, 02 Apr 2010 16:20:38 GMT</pubDate></item><item><title><![CDATA[Reply to STL Map in Datei schreiben und lesen on Fri, 02 Apr 2010 16:27:47 GMT]]></title><description><![CDATA[<p>Grund:</p>
<p>Die Map selbst enthält deine Daten gar nicht, sondern nur Verweise (Zeiger) auf diese Daten, welche irgendwo auf dem Heap liegen. Anders wäre es auch gar nicht möglich, da eine Struktur keine variable Größe haben kann. Du schreibst jedoch stur (und falsch) die Daten der Map in die Datei - darunter interne Informationen wie die Größe und die Zeiger.</p>
<p>Etwas wie &quot;write(t, sizeof(t))&quot; ist bei Strukturen und Klassen sogut wie immer falsch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1876917</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1876917</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Fri, 02 Apr 2010 16:27:47 GMT</pubDate></item><item><title><![CDATA[Reply to STL Map in Datei schreiben und lesen on Fri, 02 Apr 2010 19:16:42 GMT]]></title><description><![CDATA[<p>Schau mal in die FAQ, da ist das erklärt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1876985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1876985</guid><dc:creator><![CDATA[phlox81]]></dc:creator><pubDate>Fri, 02 Apr 2010 19:16:42 GMT</pubDate></item><item><title><![CDATA[Reply to STL Map in Datei schreiben und lesen on Sun, 04 Apr 2010 13:32:21 GMT]]></title><description><![CDATA[<p>Vielen Dank. Alles funktioniert <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/1877468</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1877468</guid><dc:creator><![CDATA[Zadro]]></dc:creator><pubDate>Sun, 04 Apr 2010 13:32:21 GMT</pubDate></item></channel></rss>