<?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 einlesen]]></title><description><![CDATA[<p>Ich möchte folgedes machen:</p>
<p>Binäre Datei einlesen. In der Datei sind 3 byte paare die immer zusammengehören, d.h. ich les die ersten 3 bytes ein, dann die nächsten 3 usw. bis ich bei EOF angekommen bin.</p>
<p>Kann mir jemand kurz auf die Sprünge helfen wie ich das mache? Ich hänge an den Punkt wie ich eine Position(Pfeil) in der Datei finde den ich immer um 3 Bytes weiterschieben kann.</p>
<p>vielen dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/211945/binäre-datei-einlesen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 14 Oct 2026 13:19:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/211945.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 29 Apr 2008 12:32:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to binäre datei einlesen on Tue, 29 Apr 2008 12:32:10 GMT]]></title><description><![CDATA[<p>Ich möchte folgedes machen:</p>
<p>Binäre Datei einlesen. In der Datei sind 3 byte paare die immer zusammengehören, d.h. ich les die ersten 3 bytes ein, dann die nächsten 3 usw. bis ich bei EOF angekommen bin.</p>
<p>Kann mir jemand kurz auf die Sprünge helfen wie ich das mache? Ich hänge an den Punkt wie ich eine Position(Pfeil) in der Datei finde den ich immer um 3 Bytes weiterschieben kann.</p>
<p>vielen dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1500480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1500480</guid><dc:creator><![CDATA[Jomotix]]></dc:creator><pubDate>Tue, 29 Apr 2008 12:32:10 GMT</pubDate></item><item><title><![CDATA[Reply to binäre datei einlesen on Tue, 29 Apr 2008 12:47:10 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">struct {
     int height;
     int width;
   } rectangle;         

using namespace std;

ifstream in(&quot;hw.txt&quot;);

   in.read( (char *)(&amp;rectangle), sizeof(rectangle) );
   if( in.bad() ) {
     cerr &lt;&lt; &quot;Error reading data&quot; &lt;&lt; endl;
     exit( 0 );
   }
</code></pre>
<p>struct muss gepackt sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1500500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1500500</guid><dc:creator><![CDATA[struct nutzer]]></dc:creator><pubDate>Tue, 29 Apr 2008 12:47:10 GMT</pubDate></item><item><title><![CDATA[Reply to binäre datei einlesen on Tue, 29 Apr 2008 12:57:20 GMT]]></title><description><![CDATA[<p>Jomotix schrieb:</p>
<blockquote>
<p>In der Datei sind 3 byte paare die immer zusammengehören, d.h. ich les die ersten 3 bytes ein, dann die nächsten 3 ...</p>
</blockquote>
<p>3-Byte-Paare, für mich der Ausdruck des Tages! Quasi drei Byte-Zwillinge... <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>P.S.: Wenn du nicht weiterkommst, dann zeig am Besten ein wenig Code mit der Stelle, an der es hakt. Dann kann man dir besser helfen. Ansonsten such mal nach fopen/fread oder fstream.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1500508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1500508</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Tue, 29 Apr 2008 12:57:20 GMT</pubDate></item><item><title><![CDATA[Reply to binäre datei einlesen on Tue, 29 Apr 2008 13:10:51 GMT]]></title><description><![CDATA[<p>danke <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="🙂"
    /> ich weis ich hab mich blöd ausgedrückt .. aber danke ich werds gleich mal ausprobieren</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1500523</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1500523</guid><dc:creator><![CDATA[Jomotix]]></dc:creator><pubDate>Tue, 29 Apr 2008 13:10:51 GMT</pubDate></item><item><title><![CDATA[Reply to binäre datei einlesen on Tue, 29 Apr 2008 13:31:34 GMT]]></title><description><![CDATA[<p>struct nutzer schrieb:</p>
<blockquote>
<pre><code class="language-cpp">struct {
     int height;
     int width;
   } rectangle;         

using namespace std;

ifstream in(&quot;hw.txt&quot;);

   in.read( (char *)(&amp;rectangle), sizeof(rectangle) );
   if( in.bad() ) {
     cerr &lt;&lt; &quot;Error reading data&quot; &lt;&lt; endl;
     exit( 0 );
   }
</code></pre>
<p>struct muss gepackt sein.</p>
</blockquote>
<p>scherz ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>wenn dann wohl</p>
<pre><code class="language-cpp">#pragma pack(1);
struct {
char a, b, c;
   } rectangle;    
#pragma pack();
</code></pre>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18734">@Jomotix</a><br />
Du brauchst nichts weiterschieben, den Dateizeiger setzt die Funktion intern automatisch immer 3 Byte weiter.<br />
Einfach immer nur einlesen, bis EOF:</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;

int main()
{
	char* your_file = &quot;file&quot;;
	char buf3byte[3] = {0};
	FILE* fp;

	fp = fopen(  your_file, &quot;rb&quot; ); 

	if ( !fp )
		return 1;

	while( !feof(fp) )
	{
		fread( buf3byte, sizeof( char ), sizeof( buf3byte ), fp );
		if( ferror(fp ))
			return 1;

		// .. mach was mit den 3 byte
	}

	fclose(fp);
	return 0;
}
</code></pre>
<p>p.s.<br />
C++ kann das auch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1500538</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1500538</guid><dc:creator><![CDATA[psccht !]]></dc:creator><pubDate>Tue, 29 Apr 2008 13:31:34 GMT</pubDate></item><item><title><![CDATA[Reply to binäre datei einlesen on Tue, 29 Apr 2008 13:38:52 GMT]]></title><description><![CDATA[<p>Kleine Ergänzung: Falls du den Dateizeiger doch mal verschieben willst/musst, dann geht das mit fseek.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1500545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1500545</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Tue, 29 Apr 2008 13:38:52 GMT</pubDate></item></channel></rss>