<?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[Probleme beim einlesen einer Binär Datei]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich probiere eine Binärdatei einzulesen. Bis jetzt habe ich folgenden Code geschrieben.</p>
<pre><code>#include &lt;fstream&gt;
#include &lt;iostream&gt;

using namespace std;

int main (void) {

	short id;
	char *buffer;

	fstream mapfile;

	mapfile.open(&quot;resource.map&quot;, ios::in | ios::binary);

	mapfile.read(buffer, 2);
</code></pre>
<p>In buffer habe ich jetzt auch die ersten 2 Byte der Datei stehen. Diese möchte ich jetzt gerne im Little Endian Format in die Variable id schreiben.</p>
<p>Meine Versuche sind bis jetzt leider erfolgos.<br />
Vielleicht kann mir einer von euch helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/130323/probleme-beim-einlesen-einer-binär-datei</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 14:36:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/130323.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 21 Dec 2005 22:07:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme beim einlesen einer Binär Datei on Wed, 21 Dec 2005 22:07:12 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich probiere eine Binärdatei einzulesen. Bis jetzt habe ich folgenden Code geschrieben.</p>
<pre><code>#include &lt;fstream&gt;
#include &lt;iostream&gt;

using namespace std;

int main (void) {

	short id;
	char *buffer;

	fstream mapfile;

	mapfile.open(&quot;resource.map&quot;, ios::in | ios::binary);

	mapfile.read(buffer, 2);
</code></pre>
<p>In buffer habe ich jetzt auch die ersten 2 Byte der Datei stehen. Diese möchte ich jetzt gerne im Little Endian Format in die Variable id schreiben.</p>
<p>Meine Versuche sind bis jetzt leider erfolgos.<br />
Vielleicht kann mir einer von euch helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/947464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/947464</guid><dc:creator><![CDATA[Maniac2k]]></dc:creator><pubDate>Wed, 21 Dec 2005 22:07:12 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim einlesen einer Binär Datei on Wed, 21 Dec 2005 22:29:14 GMT]]></title><description><![CDATA[<p>Funktioniert das so wie du das geschrieben hast? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Du solltest noch Speicher für deinen Buffer allozieren. Denn bis nun hast du nur einen Pointer der ins Nirvana zeigt. Und Windows [/andere OSs] verbieten es meistens ins Nirvana zu schreiben.</p>
<pre><code class="language-cpp">char buffer[2];

// oder

char *buffer = new char[2];
/* ... */
delete[] buffer;
</code></pre>
<p>Des weiteren solltest du das void bei den Übergabeparametern von main weglassen, sieht nur hässlich nach C-Style aus.<br />
Da die meisten x86 heute mit Little Endian arbeiten (stimmt doch oder?) könntest du das einfach kopieren:</p>
<pre><code class="language-cpp">id = *(reinterpret_cast&lt;short*&gt;(buffer));
</code></pre>
<p>Oder direkt einlesen:</p>
<pre><code class="language-cpp">short id;
char *pointer = reinterpret_cast&lt;char*&gt;(&amp;id);
mapfile.pointer(buffer, 2);
</code></pre>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/947488</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/947488</guid><dc:creator><![CDATA[FireFlow]]></dc:creator><pubDate>Wed, 21 Dec 2005 22:29:14 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim einlesen einer Binär Datei on Wed, 21 Dec 2005 22:40:04 GMT]]></title><description><![CDATA[<p>Danke, das obere hat funktioniert.</p>
<p>Nur verstehe ich die Zeile nicht ganz.</p>
<pre><code>mapfile.pointer(buffer, 2);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/947497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/947497</guid><dc:creator><![CDATA[Maniac2k]]></dc:creator><pubDate>Wed, 21 Dec 2005 22:40:04 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim einlesen einer Binär Datei on Wed, 21 Dec 2005 22:58:22 GMT]]></title><description><![CDATA[<p>Sollte natürlich .read(...) heißen... Ist wohl schon zu spät <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/947505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/947505</guid><dc:creator><![CDATA[FireFlow]]></dc:creator><pubDate>Wed, 21 Dec 2005 22:58:22 GMT</pubDate></item></channel></rss>