<?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[Werte werden falschrum ausgegeben]]></title><description><![CDATA[<p>Ich möchte mit getc() bzw. fgetc() Werte aus verschiedenen Dateien auslesen, dabei habe ich das Problem, dass die Werte falschrum ausgegeben werden wenn ich mehrere in einer Zeile ausgeben lasse, splitte ich die Ausgabe auf zwei Befehle auf ist es richtig herum. Woran liegt das?</p>
<p>Hier mal mein Code:</p>
<pre><code class="language-cpp">fseek(img, 0L, SEEK_SET); // img zeigt auf eine .gif Datei
	printf(&quot;gif1: %i %i\n&quot;, fgetc(img), fgetc(img));

	fseek(img, 0L, SEEK_SET);
	printf(&quot;gif2: %i&quot;, fgetc(img));
	printf(&quot; %i\n&quot;, fgetc(img));	

	fseek(img, 0L, SEEK_SET); 
	std::cout&lt;&lt;&quot;gif3: &quot; &lt;&lt;fgetc(img)&lt;&lt;&quot; &quot;&lt;&lt;fgetc(img)&lt;&lt;&quot;\n&quot;;

	fseek(img, 0L, SEEK_SET); 	
	std::cout&lt;&lt;&quot;gif4: &quot; &lt;&lt;fgetc(img)&lt;&lt;&quot; &quot;; 
	std::cout&lt;&lt;fgetc(img)&lt;&lt;&quot;\n&quot;;
</code></pre>
<p>Als Ausgabe bekomme ich dann</p>
<blockquote>
<p>gif1: 73 71<br />
gif2: 71 73<br />
gif3: 73 71<br />
gif4: 71 73</p>
</blockquote>
<p>Hoffe ihr könnt mir helfen. <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/topic/257489/werte-werden-falschrum-ausgegeben</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 04:33:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/257489.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 29 Dec 2009 13:12:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Werte werden falschrum ausgegeben on Tue, 29 Dec 2009 13:12:49 GMT]]></title><description><![CDATA[<p>Ich möchte mit getc() bzw. fgetc() Werte aus verschiedenen Dateien auslesen, dabei habe ich das Problem, dass die Werte falschrum ausgegeben werden wenn ich mehrere in einer Zeile ausgeben lasse, splitte ich die Ausgabe auf zwei Befehle auf ist es richtig herum. Woran liegt das?</p>
<p>Hier mal mein Code:</p>
<pre><code class="language-cpp">fseek(img, 0L, SEEK_SET); // img zeigt auf eine .gif Datei
	printf(&quot;gif1: %i %i\n&quot;, fgetc(img), fgetc(img));

	fseek(img, 0L, SEEK_SET);
	printf(&quot;gif2: %i&quot;, fgetc(img));
	printf(&quot; %i\n&quot;, fgetc(img));	

	fseek(img, 0L, SEEK_SET); 
	std::cout&lt;&lt;&quot;gif3: &quot; &lt;&lt;fgetc(img)&lt;&lt;&quot; &quot;&lt;&lt;fgetc(img)&lt;&lt;&quot;\n&quot;;

	fseek(img, 0L, SEEK_SET); 	
	std::cout&lt;&lt;&quot;gif4: &quot; &lt;&lt;fgetc(img)&lt;&lt;&quot; &quot;; 
	std::cout&lt;&lt;fgetc(img)&lt;&lt;&quot;\n&quot;;
</code></pre>
<p>Als Ausgabe bekomme ich dann</p>
<blockquote>
<p>gif1: 73 71<br />
gif2: 71 73<br />
gif3: 73 71<br />
gif4: 71 73</p>
</blockquote>
<p>Hoffe ihr könnt mir helfen. <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/1829289</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1829289</guid><dc:creator><![CDATA[b1100101]]></dc:creator><pubDate>Tue, 29 Dec 2009 13:12:49 GMT</pubDate></item><item><title><![CDATA[Reply to Werte werden falschrum ausgegeben on Tue, 29 Dec 2009 13:16:08 GMT]]></title><description><![CDATA[<p>IIRC wird von rechts nach links aufgeloest, also erst das rechte und dann das linke fgetc() ausgefuehrt etc.<br />
das ist C/C++ standard, also musst du deinen code umstellen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1829294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1829294</guid><dc:creator><![CDATA[loki1985]]></dc:creator><pubDate>Tue, 29 Dec 2009 13:16:08 GMT</pubDate></item><item><title><![CDATA[Reply to Werte werden falschrum ausgegeben on Tue, 29 Dec 2009 13:20:59 GMT]]></title><description><![CDATA[<p>Wie das wird von rechts nach links aufgelöst?</p>
<p>bei</p>
<pre><code class="language-cpp">int c= 1;
	int d= 2;
	std::cout&lt;&lt;&quot;test: &quot; &lt;&lt;c&lt;&lt;&quot; &quot;&lt;&lt;d&lt;&lt;&quot;\n&quot;
</code></pre>
<p>Gibt er doch auch 1 2 aus und nicht umgekehrt. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1829298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1829298</guid><dc:creator><![CDATA[b1100101]]></dc:creator><pubDate>Tue, 29 Dec 2009 13:20:59 GMT</pubDate></item><item><title><![CDATA[Reply to Werte werden falschrum ausgegeben on Tue, 29 Dec 2009 14:45:53 GMT]]></title><description><![CDATA[<p>aufgeloest, nicht geprintet. aufgeloest heisst die funktion wird aufgerufen, der rueckgabewert wird eingesetzt. ersetze bei deinem beispiel c und d durch eine funktion die einen counter zurueckgibt, dann verstehst du was ich meine.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1829363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1829363</guid><dc:creator><![CDATA[loki1985]]></dc:creator><pubDate>Tue, 29 Dec 2009 14:45:53 GMT</pubDate></item><item><title><![CDATA[Reply to Werte werden falschrum ausgegeben on Tue, 29 Dec 2009 15:18:23 GMT]]></title><description><![CDATA[<p>Das ist eigentlich compilerspezifisch...<br />
Nur an sog. Sequenzpunkten (sequence points) muß die Reihenfolge eingehalten werden (und die Parameter bzw. die Kommas stellen keinen Sequencepunkt dar).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1829380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1829380</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Tue, 29 Dec 2009 15:18:23 GMT</pubDate></item><item><title><![CDATA[Reply to Werte werden falschrum ausgegeben on Tue, 29 Dec 2009 16:00:33 GMT]]></title><description><![CDATA[<p>Kann man dem Compiler auch nicht irgendwie sagen in welcher Reihenfolge er das abarbeiten soll?<br />
Ich arbeite jetzt vorerst mal mit dem zweizeiler, aber würde mich schon noch interessieren ob und wie man sowas steuern kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1829412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1829412</guid><dc:creator><![CDATA[b1100101]]></dc:creator><pubDate>Tue, 29 Dec 2009 16:00:33 GMT</pubDate></item><item><title><![CDATA[Reply to Werte werden falschrum ausgegeben on Tue, 29 Dec 2009 16:11:07 GMT]]></title><description><![CDATA[<p>ich wuerde mal sagen dass, wenn man diese situation hat, das an schlechtem design liegt. also in gutem design sollte dieses problem nicht auftreten.</p>
<p>in diesem beispiel: dateiheader liesst man lieber mit fread ein statt mit fgetc.<br />
wenn denn fgetc, dann mit einer schleife in einen buffer lesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1829428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1829428</guid><dc:creator><![CDATA[loki1985]]></dc:creator><pubDate>Tue, 29 Dec 2009 16:11:07 GMT</pubDate></item><item><title><![CDATA[Reply to Werte werden falschrum ausgegeben on Tue, 29 Dec 2009 17:12:43 GMT]]></title><description><![CDATA[<p>loki1985 schrieb:</p>
<blockquote>
<p>in diesem beispiel: dateiheader liesst man lieber mit fread ein statt mit fgetc.</p>
</blockquote>
<p>Warum? Mit fread() muss ich doch vorher wissen wieviel ich einlesen möchte, mit fgetc() kann ich jedes Byte einzeln prüfen und mir die gesuchten rausfischen. Oder hab ich da was falsch verstanden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1829456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1829456</guid><dc:creator><![CDATA[b1100101]]></dc:creator><pubDate>Tue, 29 Dec 2009 17:12:43 GMT</pubDate></item><item><title><![CDATA[Reply to Werte werden falschrum ausgegeben on Wed, 30 Dec 2009 13:37:48 GMT]]></title><description><![CDATA[<p>naja, wenn du weisst dass du dir einen sagen wir mal 8 byte langen header einlesen willst, z.B. um zu pruefen ob es sich um ein valides PNG file handelt, dann kannst du das in einem fread() aufruf machen, und danach den buffer ueberpruefen. wenn der jetzt nicht genug lesen konnte, e.g. weil die datei leer ist, erkennst du das an der rueckgabe oder eben am buffer.</p>
<p>wenn du unbedingt mit fgetc() arbeiten willst OK, aber eben nicht zwei aufrufe direkt nacheinander als parameter verwenden, eher in buffer, oder tempvariablen speichern und diese dann als parameter verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1829811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1829811</guid><dc:creator><![CDATA[loki1985]]></dc:creator><pubDate>Wed, 30 Dec 2009 13:37:48 GMT</pubDate></item></channel></rss>