<?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 lesen]]></title><description><![CDATA[<p>Hi!<br />
Ich versuche wieder einmal, eine Datei auszulesen und mache wieder lauter vermutlich dumme Fehler, aber ich komme nicht darauf, was falsch ist:<br />
Zunächst: Die Datei: Ich habe sie im Hexeditor einmal angeschaut, laut Hexeditor sind einmal 42 + 55 + 64 Byte &quot;Vorspann&quot;, den ich nicht brauche und dann kommen immer 4 byte, die eine float zahl sind.<br />
mein code sieht folgendermaßen aus:</p>
<pre><code class="language-cpp">Reader.open(fullfilename.c_str());
 if(!Reader) cout &lt;&lt; &quot;could not open Reader&quot; &lt;&lt; endl;

 char bisaso[42];
 Reader.read(bisaso,42);

 char Leerzeichen[52];
 Reader.read(Leerzeichen,52);

 char Dimensions[64];
 Reader.read(Dimensions,64);

 char buffer[4];
 char Buffer1[4];
 //lese erste Zahl
 Reader.read(buffer,4);
 for(int i=0; i&lt;3; i++) buffer[i] = Buffer1[3-i];
 float* f= reinterpret_cast&lt;float*&gt;(Buffer1);
 cout &lt;&lt; *f &lt;&lt; endl;
 //lese noch eine Zahl
 Reader.read(buffer,4);
 for(int i=0; i&lt;3; i++) buffer[i] = Buffer1[3-i];
 f= reinterpret_cast&lt;float*&gt;(Buffer1);
 cout &lt;&lt; *f &lt;&lt; endl;
 Reader.close();
</code></pre>
<p>Die Ausgabe sieht folgendermaßen aus:<br />
-1.07374e+008<br />
-1.07374e+008</p>
<p>Was 1) nicht stimmt, laut Hexeditor sollte da eine andere Zahl stehen<br />
und 2) liest er, wenn ich eine Schleife darüber lege, immer dieselbe Zahl aus, und das ist sicherlich nicht korrekt.</p>
<p>Wenn jemand einen Tipp für mich hätte, wäre ich ihm sehr dankbar!<br />
lg,<br />
Iso</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/227058/binär-lesen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 30 Sep 2026 06:22:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/227058.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 10 Nov 2008 10:17:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Binär lesen on Mon, 10 Nov 2008 10:17:42 GMT]]></title><description><![CDATA[<p>Hi!<br />
Ich versuche wieder einmal, eine Datei auszulesen und mache wieder lauter vermutlich dumme Fehler, aber ich komme nicht darauf, was falsch ist:<br />
Zunächst: Die Datei: Ich habe sie im Hexeditor einmal angeschaut, laut Hexeditor sind einmal 42 + 55 + 64 Byte &quot;Vorspann&quot;, den ich nicht brauche und dann kommen immer 4 byte, die eine float zahl sind.<br />
mein code sieht folgendermaßen aus:</p>
<pre><code class="language-cpp">Reader.open(fullfilename.c_str());
 if(!Reader) cout &lt;&lt; &quot;could not open Reader&quot; &lt;&lt; endl;

 char bisaso[42];
 Reader.read(bisaso,42);

 char Leerzeichen[52];
 Reader.read(Leerzeichen,52);

 char Dimensions[64];
 Reader.read(Dimensions,64);

 char buffer[4];
 char Buffer1[4];
 //lese erste Zahl
 Reader.read(buffer,4);
 for(int i=0; i&lt;3; i++) buffer[i] = Buffer1[3-i];
 float* f= reinterpret_cast&lt;float*&gt;(Buffer1);
 cout &lt;&lt; *f &lt;&lt; endl;
 //lese noch eine Zahl
 Reader.read(buffer,4);
 for(int i=0; i&lt;3; i++) buffer[i] = Buffer1[3-i];
 f= reinterpret_cast&lt;float*&gt;(Buffer1);
 cout &lt;&lt; *f &lt;&lt; endl;
 Reader.close();
</code></pre>
<p>Die Ausgabe sieht folgendermaßen aus:<br />
-1.07374e+008<br />
-1.07374e+008</p>
<p>Was 1) nicht stimmt, laut Hexeditor sollte da eine andere Zahl stehen<br />
und 2) liest er, wenn ich eine Schleife darüber lege, immer dieselbe Zahl aus, und das ist sicherlich nicht korrekt.</p>
<p>Wenn jemand einen Tipp für mich hätte, wäre ich ihm sehr dankbar!<br />
lg,<br />
Iso</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1612673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1612673</guid><dc:creator><![CDATA[Isomorphismus]]></dc:creator><pubDate>Mon, 10 Nov 2008 10:17:42 GMT</pubDate></item><item><title><![CDATA[Reply to Binär lesen on Mon, 10 Nov 2008 10:26:18 GMT]]></title><description><![CDATA[<blockquote>
<p>... 42 + 55 + 64 ...</p>
</blockquote>
<p>In deinem Code steht 52.</p>
<blockquote>
<pre><code>for(int i=0; i&lt;3; i++)
</code></pre>
</blockquote>
<p>Du willst hier anscheinend den Speicher &quot;drehen&quot;. i &lt; 4 wäre aber richtig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1612678</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1612678</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 10 Nov 2008 10:26:18 GMT</pubDate></item><item><title><![CDATA[Reply to Binär lesen on Mon, 10 Nov 2008 10:28:31 GMT]]></title><description><![CDATA[<p>Der beste Fehler ist aber immer noch der hier:</p>
<pre><code class="language-cpp">Reader.read(buffer,4); 
 for(int i=0; i&lt;3; i++) buffer[i] = Buffer1[3-i]; 
 float* f= reinterpret_cast&lt;float*&gt;(Buffer1);
</code></pre>
<p>Schau dir mal die Zuweisung ganz genau an. In welchen Puffer liest du ein und wohin schreibst du die Werte? Deshalb gibt es auch immer den gleichen Wert.</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1612680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1612680</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Mon, 10 Nov 2008 10:28:31 GMT</pubDate></item><item><title><![CDATA[Reply to Binär lesen on Mon, 10 Nov 2008 10:31:16 GMT]]></title><description><![CDATA[<p>Wäre std::reverse hier nicht eh etwas simpler?<br />
Statt reinterpret_cast würde ich hier auch ein union verwenden, mag aber daran liegen das ich einfach unions mag. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1612681</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1612681</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 10 Nov 2008 10:31:16 GMT</pubDate></item><item><title><![CDATA[Reply to Binär lesen on Mon, 10 Nov 2008 14:34:32 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Darf ich Fragen um was für einen Typ oder Klasse es sich bei dem Reader Handelt.</p>
<p>Ich muss eine Image-Datei im FAT16/Fat32/NTFS format auslesen und weis einfach keinen Ansatz.<br />
Das würde mir aber super helfen.</p>
<p>Danke Tarantel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1612801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1612801</guid><dc:creator><![CDATA[TimTim]]></dc:creator><pubDate>Mon, 10 Nov 2008 14:34:32 GMT</pubDate></item><item><title><![CDATA[Reply to Binär lesen on Mon, 10 Nov 2008 14:46:30 GMT]]></title><description><![CDATA[<p>ifstream aus &lt;fstream&gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1612805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1612805</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 10 Nov 2008 14:46:30 GMT</pubDate></item><item><title><![CDATA[Reply to Binär lesen on Mon, 10 Nov 2008 15:15:27 GMT]]></title><description><![CDATA[<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1612828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1612828</guid><dc:creator><![CDATA[TimTim]]></dc:creator><pubDate>Mon, 10 Nov 2008 15:15:27 GMT</pubDate></item></channel></rss>