<?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äre Datei Lesen und interpretieren]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>Ich möchte eine Binäre Datei in C++ öffnen, und dann die verschienden Bytes interpretieren (STL binary format, <a href="http://www.ennex.com/~fabbers/StL.asp" rel="nofollow">http://www.ennex.com/~fabbers/StL.asp</a>). Also die Datei im binären Modus zu öffnen und in den speicher zu schreiben gelingt mir, aber dann das anschliessende interpretieren noch nicht ganz.<br />
also bisher habe ich die datei in einen char* array geschrieben, jedoch habe ich nun noch keinen plan wie ich z.b. floats, unsigned long ints an bestimmten stellen im char* auslesen kann.<br />
was für funktionen gibt es da? hat da jemand eine idee?</p>
<p>wäre sehr dankbar, mfg<br />
level0</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/206594/binäre-datei-lesen-und-interpretieren</link><generator>RSS for Node</generator><lastBuildDate>Sat, 10 Oct 2026 14:52:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/206594.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 26 Feb 2008 17:03:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Binäre Datei Lesen und interpretieren on Tue, 26 Feb 2008 17:03:43 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>Ich möchte eine Binäre Datei in C++ öffnen, und dann die verschienden Bytes interpretieren (STL binary format, <a href="http://www.ennex.com/~fabbers/StL.asp" rel="nofollow">http://www.ennex.com/~fabbers/StL.asp</a>). Also die Datei im binären Modus zu öffnen und in den speicher zu schreiben gelingt mir, aber dann das anschliessende interpretieren noch nicht ganz.<br />
also bisher habe ich die datei in einen char* array geschrieben, jedoch habe ich nun noch keinen plan wie ich z.b. floats, unsigned long ints an bestimmten stellen im char* auslesen kann.<br />
was für funktionen gibt es da? hat da jemand eine idee?</p>
<p>wäre sehr dankbar, mfg<br />
level0</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463441</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463441</guid><dc:creator><![CDATA[level0]]></dc:creator><pubDate>Tue, 26 Feb 2008 17:03:43 GMT</pubDate></item><item><title><![CDATA[Reply to Binäre Datei Lesen und interpretieren on Wed, 27 Feb 2008 15:05:43 GMT]]></title><description><![CDATA[<p>Folgendes sollte gehen:</p>
<pre><code class="language-cpp">char *bla;
//füllen
float f = reinterpret_cast&lt;float&gt;(bla[index]);
</code></pre>
<p>Edit: Sorry, da ist was falsch. Siehe Antwort von (D)Evil</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463450</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463450</guid><dc:creator><![CDATA[The-Kenny]]></dc:creator><pubDate>Wed, 27 Feb 2008 15:05:43 GMT</pubDate></item><item><title><![CDATA[Reply to Binäre Datei Lesen und interpretieren on Tue, 26 Feb 2008 20:39:23 GMT]]></title><description><![CDATA[<p>hallo, danke für den tipp, funktioniert bei mir aber ned, kommt der fehler:</p>
<p>error C2440: 'reinterpret_cast' : cannot convert from 'char' to 'int'</p>
<p>any idea?</p>
<p>thx&amp;greets</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463595</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463595</guid><dc:creator><![CDATA[level0]]></dc:creator><pubDate>Tue, 26 Feb 2008 20:39:23 GMT</pubDate></item><item><title><![CDATA[Reply to Binäre Datei Lesen und interpretieren on Tue, 26 Feb 2008 20:49:34 GMT]]></title><description><![CDATA[<p>Hmm ... naja warum du nicht direkt die entsprechenden Daten ausließt, sondern es per char-Array machen willst, ist mir nicht klar, aber okay.</p>
<pre><code class="language-cpp">template&lt;typename value_type&gt;
value_type convert_raw_data(char* raw_data, const std::size_t index = 0)
{ return *reinterpret_cast&lt;value_type*&gt;(&amp;raw_data[index]); }
</code></pre>
<p>so sieht es korrekt aus <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="😉"
    /></p>
<pre><code class="language-cpp">char* data = /* Deine Daten */;

// wenn als 1. ein float drin steht
float value_first(convert_raw_data&lt;float&gt;(data));
// danach ein unsigned int
unsigned int value_second(convert_raw_data&lt;unsigned int&gt;(data, sizeof(float)))
</code></pre>
<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463605</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 26 Feb 2008 20:49:34 GMT</pubDate></item><item><title><![CDATA[Reply to Binäre Datei Lesen und interpretieren on Wed, 27 Feb 2008 10:52:48 GMT]]></title><description><![CDATA[<p>danke für die funktion, werde es am abend ausprobieren <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="🙂"
    /><br />
mfg<br />
level0</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1463851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1463851</guid><dc:creator><![CDATA[level0]]></dc:creator><pubDate>Wed, 27 Feb 2008 10:52:48 GMT</pubDate></item><item><title><![CDATA[Reply to Binäre Datei Lesen und interpretieren on Wed, 27 Feb 2008 19:35:59 GMT]]></title><description><![CDATA[<p>hallo leute,</p>
<p>es scheint mir als wäre die binäre datei in big-endian abgespeichert, gibt es da einen eifachen hack wie man das &quot;umbekehrt&quot; einlesen kann?</p>
<p>vielen dank!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1464315</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1464315</guid><dc:creator><![CDATA[level0]]></dc:creator><pubDate>Wed, 27 Feb 2008 19:35:59 GMT</pubDate></item><item><title><![CDATA[Reply to Binäre Datei Lesen und interpretieren on Wed, 27 Feb 2008 21:03:58 GMT]]></title><description><![CDATA[<p>level0 schrieb:</p>
<blockquote>
<p>...<br />
also bisher habe ich die datei in einen char* array geschrieben...<br />
level0</p>
</blockquote>
<p>hat es einen besonderen grund, das du es in einen char* einliest ?<br />
wenn ich das richtig sehe, dann haben die facets immer 50 byte.<br />
du könntest dir zwei strukturen schreiben:</p>
<pre><code class="language-cpp">struct Header
{
    char header[81];
    unsigned long number_of_facets;
};
struct Facet
{
    float normal_i;
    float normal_j;
    float normal_k;

    float vertex1;
    float vertex2;
    float vertex3;    
// ... usw.
}
</code></pre>
<p>die erste struktur einlesen, number_of_facets * sizeof(struct) byte speicherplatz reservieren und die facet-dingsda in einem rutsch einlesen.<br />
<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/1464391</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1464391</guid><dc:creator><![CDATA[agga ugga]]></dc:creator><pubDate>Wed, 27 Feb 2008 21:03:58 GMT</pubDate></item><item><title><![CDATA[Reply to Binäre Datei Lesen und interpretieren on Thu, 28 Feb 2008 12:29:41 GMT]]></title><description><![CDATA[<p>hey agga ugga!</p>
<p>gute idee! muss ich gleich probieren <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>ich habe nämlich festgestellt, dass wenn man das gesamte file in ein char oder int oder float array liest, es zu fehlern kommt, weil die binäre datei aus einem mix von den dreien besteht und sobald ein anderer typ als der, des arrays kommt, es irgendwie die gesamte struktur verschiebt und danach nichts brauchbares mehr gelesen werden kann, selbst wenn man die grösse der einzelnen typen berücksichtigt , überspringt und z.b. nur die floats auslesen will.</p>
<p>habs jetzt relativ schlecht implementiert, und immer diese 12 floats direkt vom file / harddisk gelesen, was natürlich nicht gerade schnell ist.</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1464690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1464690</guid><dc:creator><![CDATA[level0]]></dc:creator><pubDate>Thu, 28 Feb 2008 12:29:41 GMT</pubDate></item><item><title><![CDATA[Reply to Binäre Datei Lesen und interpretieren on Thu, 28 Feb 2008 16:39:31 GMT]]></title><description><![CDATA[<p>soo endlich hab ichs gecheckt...nachdem ich mit #prgama pack(..) gespielt habe und dachte dass da der fehler liegt, dass es meine binäre daten falsch liest, habe ich den fehler noch weiter unten gefunden...<br />
ich dachte bisher immer dass standard INT 2bytes lang ist, heute wurde ich eines besseren belehrt, sind auf meinem pc 4 bytes, deshalb hat sich die gesamte struktur ständig verschoben...jetz nehm ich halt einen short, der ist zumindest 2 bytes <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="😉"
    /></p>
<p>thx a lot<br />
cu</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1464882</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1464882</guid><dc:creator><![CDATA[level01]]></dc:creator><pubDate>Thu, 28 Feb 2008 16:39:31 GMT</pubDate></item></channel></rss>