<?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är Datei - Zahlenwerte genau auslesen]]></title><description><![CDATA[<p>Wie kann ich aus einer &quot;Binärdatei&quot; die Zahlenwerte genau auslesen. Schätzungsweise ich habe erste ein int (4Byte) eingelesen, und danach ein short(2Byte), wie soll ich da beim auslesen wissen, das mal 4Byte und dann mal 2Byte eingelesen wurden, schätzungsweise ich bin n Fremder.<br />
Bsp:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;
using namespace std;

int main()
{

    int var1=982376;
    short var2=1123;
    ofstream file(&quot;H:/test.andi&quot;, ios::out | ios::binary | ios::trunc);
    file.write(reinterpret_cast&lt;char*&gt;(&amp;var1),sizeof(var1));
    file.write(reinterpret_cast&lt;char*&gt;(&amp;var2),sizeof(var2));
    close();

    ifstream FILE(&quot;H:/test.andi&quot;, ios::in | ios::binary);
    while(1)
    {
        int buffer;
        if(!FILE) break;
        FILE.read(reinterpret_cast&lt;char*&gt;(&amp;buffer), sizeof(buffer));
        cout &lt;&lt; buffer &lt;&lt; &quot;\n&quot;;
    }

	return 0;
}
</code></pre>
<p>So ists falsch, aber wie weiß ich ob da 4Byte eingelesen wurden oder 2....gibts da eine Möglichkeit?<br />
Und was genau passiert hier, die erste Zahl der Ausgabe stimmt ja noch:</p>
<p>AUSGABE:</p>
<blockquote>
<p>982376<br />
918627</p>
</blockquote>
<p>Kann mir jemand zu dem Thema bissel was erklären? Feinheiten etc. hab glaub irgendwie nur so oberflächliches Wissen.</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/203456/binär-datei-zahlenwerte-genau-auslesen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 12:11:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/203456.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 22 Jan 2008 22:27:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Binär Datei - Zahlenwerte genau auslesen on Tue, 22 Jan 2008 22:27:58 GMT]]></title><description><![CDATA[<p>Wie kann ich aus einer &quot;Binärdatei&quot; die Zahlenwerte genau auslesen. Schätzungsweise ich habe erste ein int (4Byte) eingelesen, und danach ein short(2Byte), wie soll ich da beim auslesen wissen, das mal 4Byte und dann mal 2Byte eingelesen wurden, schätzungsweise ich bin n Fremder.<br />
Bsp:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;
using namespace std;

int main()
{

    int var1=982376;
    short var2=1123;
    ofstream file(&quot;H:/test.andi&quot;, ios::out | ios::binary | ios::trunc);
    file.write(reinterpret_cast&lt;char*&gt;(&amp;var1),sizeof(var1));
    file.write(reinterpret_cast&lt;char*&gt;(&amp;var2),sizeof(var2));
    close();

    ifstream FILE(&quot;H:/test.andi&quot;, ios::in | ios::binary);
    while(1)
    {
        int buffer;
        if(!FILE) break;
        FILE.read(reinterpret_cast&lt;char*&gt;(&amp;buffer), sizeof(buffer));
        cout &lt;&lt; buffer &lt;&lt; &quot;\n&quot;;
    }

	return 0;
}
</code></pre>
<p>So ists falsch, aber wie weiß ich ob da 4Byte eingelesen wurden oder 2....gibts da eine Möglichkeit?<br />
Und was genau passiert hier, die erste Zahl der Ausgabe stimmt ja noch:</p>
<p>AUSGABE:</p>
<blockquote>
<p>982376<br />
918627</p>
</blockquote>
<p>Kann mir jemand zu dem Thema bissel was erklären? Feinheiten etc. hab glaub irgendwie nur so oberflächliches Wissen.</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441660</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Tue, 22 Jan 2008 22:27:58 GMT</pubDate></item><item><title><![CDATA[Reply to Binär Datei - Zahlenwerte genau auslesen on Tue, 22 Jan 2008 22:34:58 GMT]]></title><description><![CDATA[<p>Es gibt keine Möglichkeit, nachträglich zweifelsfrei herauszufinden, wie die Daten einer Binärdatei unbekannten Formates zu interpretieren sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441663</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 22 Jan 2008 22:34:58 GMT</pubDate></item><item><title><![CDATA[Reply to Binär Datei - Zahlenwerte genau auslesen on Tue, 22 Jan 2008 22:34:52 GMT]]></title><description><![CDATA[<p>Höchstens, wenn ich z.B. immer mit 4 Byte einlese, oder immer mit 2 Byte......<br />
dann gehts ja!?<br />
MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441664</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Tue, 22 Jan 2008 22:34:52 GMT</pubDate></item><item><title><![CDATA[Reply to Binär Datei - Zahlenwerte genau auslesen on Tue, 22 Jan 2008 22:35:46 GMT]]></title><description><![CDATA[<p>Dann ist das Format ja bekannt <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/1441665</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441665</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 22 Jan 2008 22:35:46 GMT</pubDate></item><item><title><![CDATA[Reply to Binär Datei - Zahlenwerte genau auslesen on Tue, 22 Jan 2008 22:56:27 GMT]]></title><description><![CDATA[<p>Hi Stromberg,</p>
<p>du wolltest wissen, wie die Ausgabe zustande kommt:</p>
<blockquote>
<p>982376<br />
918627</p>
</blockquote>
<p>Du hast scheinbar einen Rechner, der seine Zahlen als Little Endian verwaltet:<br />
<a href="http://de.wikipedia.org/wiki/Little_Endian" rel="nofollow">http://de.wikipedia.org/wiki/Little_Endian</a><br />
982376 -&gt; 68 FD 0E 00<br />
Danach ließt dein read-Befehl nur noch 2 Bytes (überprüf mal den Rückgabewert von read <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="😉"
    /> )<br />
1123 -&gt; 63 04</p>
<p>Die anderen 2 Bytes behalten ihren Inhalt:<br />
63 04 0E 00 -&gt; 918627</p>
<p>Gruß,<br />
CSpille</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1441670</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1441670</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 22 Jan 2008 22:56:27 GMT</pubDate></item></channel></rss>