<?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[Binäres speicher gelingt nicht]]></title><description><![CDATA[<p>Hallo,</p>
<p>also ich habe hier einen code und mit dem habe ich schon vieles probiert um binär zu speichern,aber mir gelingt es ncuiht, könnt ihr mir helfen und erklären wie ich es binär speichern kann, oder muss ich dazu erst umwandenln??</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;vector&gt;
#include &lt;conio.h&gt;
using namespace std;

//main()-Funktion
int main()
{
	//Monster-Klasse definieren
	vector&lt;int&gt; Monsters;
	vector&lt;int&gt; MonstersLoad;
	int in_vector;
	fstream File;

	Monsters.push_back(5);
	Monsters.push_back(20);
	Monsters.push_back(89);
	Monsters.push_back(143);

	for(int i = 0 ; i &lt; Monsters.size(); i++)
	{
		cout &lt;&lt; Monsters[i] &lt;&lt; endl;
	}

	File.open(&quot;Vektor.dat&quot;,ios::out);

	for( size_t i=0; i&lt;Monsters.size();++i)
	{
	    File&lt;&lt;Monsters[i]&lt;&lt;endl;
	}
	File.close();

	File.open(&quot;Vektor.dat&quot;,ios::in);

	while(File&gt;&gt;in_vector)
	{
	    MonstersLoad.push_back(in_vector);
	}
	File.close();
    cout&lt;&lt;endl;
    cout&lt;&lt;&quot;Und das ausgelesene steht hier&quot;&lt;&lt;endl;

	for(int i = 0 ; i &lt; Monsters.size(); i++)
	{
		cout &lt;&lt; MonstersLoad[i] &lt;&lt; endl;
	}

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/187235/binäres-speicher-gelingt-nicht</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 15:10:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/187235.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 17 Jul 2007 12:25:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Binäres speicher gelingt nicht on Tue, 17 Jul 2007 12:25:08 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>also ich habe hier einen code und mit dem habe ich schon vieles probiert um binär zu speichern,aber mir gelingt es ncuiht, könnt ihr mir helfen und erklären wie ich es binär speichern kann, oder muss ich dazu erst umwandenln??</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;vector&gt;
#include &lt;conio.h&gt;
using namespace std;

//main()-Funktion
int main()
{
	//Monster-Klasse definieren
	vector&lt;int&gt; Monsters;
	vector&lt;int&gt; MonstersLoad;
	int in_vector;
	fstream File;

	Monsters.push_back(5);
	Monsters.push_back(20);
	Monsters.push_back(89);
	Monsters.push_back(143);

	for(int i = 0 ; i &lt; Monsters.size(); i++)
	{
		cout &lt;&lt; Monsters[i] &lt;&lt; endl;
	}

	File.open(&quot;Vektor.dat&quot;,ios::out);

	for( size_t i=0; i&lt;Monsters.size();++i)
	{
	    File&lt;&lt;Monsters[i]&lt;&lt;endl;
	}
	File.close();

	File.open(&quot;Vektor.dat&quot;,ios::in);

	while(File&gt;&gt;in_vector)
	{
	    MonstersLoad.push_back(in_vector);
	}
	File.close();
    cout&lt;&lt;endl;
    cout&lt;&lt;&quot;Und das ausgelesene steht hier&quot;&lt;&lt;endl;

	for(int i = 0 ; i &lt; Monsters.size(); i++)
	{
		cout &lt;&lt; MonstersLoad[i] &lt;&lt; endl;
	}

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1327219</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327219</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Tue, 17 Jul 2007 12:25:08 GMT</pubDate></item><item><title><![CDATA[Reply to Binäres speicher gelingt nicht on Tue, 17 Jul 2007 12:29:07 GMT]]></title><description><![CDATA[<p>Wo speicherst du etwas binär? Deine Ein/Ausgaben schreiben ganz normal in Textformat - und da brauchst du eventuell ein Trennzeichen, um zu erkennen, wo eine Zahl endet und die nächste beginnt.</p>
<p>(binäres Speichern geht über write() und read())</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1327223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327223</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 17 Jul 2007 12:29:07 GMT</pubDate></item><item><title><![CDATA[Reply to Binäres speicher gelingt nicht on Tue, 17 Jul 2007 12:30:27 GMT]]></title><description><![CDATA[<p>achso...kannste dafür mal ein beispiel eventuell anführen...wie das mit write( ) und read( ) geht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1327224</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327224</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Tue, 17 Jul 2007 12:30:27 GMT</pubDate></item><item><title><![CDATA[Reply to Binäres speicher gelingt nicht on Tue, 17 Jul 2007 12:39:23 GMT]]></title><description><![CDATA[<p>OK, schnell aus dem Kopf zusammengeschrieben:</p>
<pre><code class="language-cpp">//schreiben:
File.write(reinterpret_cast&lt;char*&gt;(&amp;wert),sizeof(wert));

//lesen:
File.read(reinterpret_cast&lt;char*&gt;(&amp;wert),sizeof(wert));
</code></pre>
<p>(beide Funktionen bekommen die Adresse, an der die Daten stehen bzw. stehen sollen, (als char*, darum ist dort ein Cast nötig) und die Größe des zu schreibenden/lesenden Datenblocks übergeben - und schreiben/bzw. genau diese Anzahl an Bytes)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1327234</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327234</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 17 Jul 2007 12:39:23 GMT</pubDate></item><item><title><![CDATA[Reply to Binäres speicher gelingt nicht on Tue, 17 Jul 2007 12:42:59 GMT]]></title><description><![CDATA[<p>etwa so</p>
<pre><code class="language-cpp">//schreiben
    size_t count = Monsters.size();
    File.write(reinterpret_cast&lt;const char*&gt;(&amp;count), sizeof(count));
    int val;
    for( size_t i=0; i&lt;count;++i)
    {
        val = Monsters[i];
        File.write(reinterpret_cast&lt;const char*&gt;(&amp;val), sizeof(val));
    }

//lesen
    size_t count;
    File.read(reinterpret_cast&lt;char*&gt;(&amp;count), sizeof(count));
    int val;
    for( size_t i=0; i&lt;count;++i)
    {
        File.write(reinterpret_cast&lt;char*&gt;(&amp;val), sizeof(val));
        Monsters.push_back(val);
    }
</code></pre>
<p>[edit]Etwas spät. <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="😞"
    /> [/edit]<br />
[edit2] Beim Öffnen des filestreams gehört natürlich noch ein ios::binary dazu.[edit]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1327235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1327235</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Tue, 17 Jul 2007 12:42:59 GMT</pubDate></item><item><title><![CDATA[Reply to Binäres speicher gelingt nicht on Wed, 18 Jul 2007 20:34:58 GMT]]></title><description><![CDATA[<p>Firefighter schrieb:</p>
<blockquote>
<p>...binär zu speichern,...</p>
<pre><code class="language-cpp">...
	vector&lt;int&gt; ...
</code></pre>
</blockquote>
<p>Würde ich gar nicht machen !<br />
In C++ gibt es kein standardisiertes Binärformat, d.h. bei der nächsten Compilerversion (oder anderen Compile-Parametern) kann das alles wieder anders sein. Und spätestens bei einer kleinen Änderung in Deinen Klassen werden automatisch alle Files ungültig - und im Binärformat auch nicht gut zu migirieren....</p>
<p>Ich würde Deinen ursprünglichen Ansatz mit ofstream und operator&lt;&lt;() weiterverfolgen und mir dabei Speicherformat (ruhig lesbar .. man muss IMMMER mehr debuggen als einem lieb ist) ausdenken.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1328084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1328084</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 18 Jul 2007 20:34:58 GMT</pubDate></item></channel></rss>