<?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[Mysteriöses Größenverhältnis  ;~)]]></title><description><![CDATA[<p>GetFileSize liefert in dieser Form eingestezt:</p>
<pre><code class="language-cpp">DWORD FileSize;
FileSize=GetFileSize(hFILE,NULL);
</code></pre>
<p>...die richitge Größe einer Datei. (Zumindest stimmt das Ergebnis mit der Anzeige des Explorers überein). Bis hier hin alles bestens.</p>
<p>Ich lese den gesamten Inhalt einer Datei mit einer 'do while'-Schleife in jewils 1 KB Blöcken aus und schreibe ihn in eine andere Datei.</p>
<p>Vor dem betreten der Schleife lege ich zwei DWORD - Variablen namens &quot;gelesen_gesamt&quot; und &quot;gelesen&quot; an. &quot;gelesen&quot; wird bei jedem Aufruf von ReadFile() als vorletzter Parameter angegeben, d.h. wird bei jedem read-vorgang mit der Anzahl der gelesenen Bytes belegt.</p>
<p>Und da ich ein netter Programmierer bin, will ich dem User die Möglichkeit geben, zu sehen, wie viel noch übrig ist (von der ganzen Datei).<br />
Also addiere ich nach jedem read-vorgang den Wert von &quot;gelesen&quot; zu &quot;gelesen_gesamt&quot;. das sieht dann so aus:</p>
<pre><code class="language-cpp">//Pseudo-Code
ReadFile(bla, bla, bla, &amp;gelesen, NULL);
gelesen_gesamt+=gelesen.
</code></pre>
<p>Das lustige an der Sache ist, dass am Ende gelesen_gesamt viel viel größer wird als Anzahl der Bytes in der Datei, wobei netterweise trotzdem alles ebstens klappt. Die neuerzeugte Datei ist gleichgroß wie die Quelldatei.</p>
<p>Bei jedem WriteFile() wird &quot;gelesen&quot; der WriteFile()-Funktion übergeben.<br />
Gibt es hier eine besonderheit bei den Funktionen &quot;ReadFile()&quot; und GetFileSIze oder habe ich irgendwo arithmestische Fehler gemacht?</p>
<p>MfG Tolga.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/80169/mysteriöses-größenverhältnis</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 04:37:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/80169.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 18 Jul 2004 15:27:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Mysteriöses Größenverhältnis  ;~) on Sun, 18 Jul 2004 15:27:48 GMT]]></title><description><![CDATA[<p>GetFileSize liefert in dieser Form eingestezt:</p>
<pre><code class="language-cpp">DWORD FileSize;
FileSize=GetFileSize(hFILE,NULL);
</code></pre>
<p>...die richitge Größe einer Datei. (Zumindest stimmt das Ergebnis mit der Anzeige des Explorers überein). Bis hier hin alles bestens.</p>
<p>Ich lese den gesamten Inhalt einer Datei mit einer 'do while'-Schleife in jewils 1 KB Blöcken aus und schreibe ihn in eine andere Datei.</p>
<p>Vor dem betreten der Schleife lege ich zwei DWORD - Variablen namens &quot;gelesen_gesamt&quot; und &quot;gelesen&quot; an. &quot;gelesen&quot; wird bei jedem Aufruf von ReadFile() als vorletzter Parameter angegeben, d.h. wird bei jedem read-vorgang mit der Anzahl der gelesenen Bytes belegt.</p>
<p>Und da ich ein netter Programmierer bin, will ich dem User die Möglichkeit geben, zu sehen, wie viel noch übrig ist (von der ganzen Datei).<br />
Also addiere ich nach jedem read-vorgang den Wert von &quot;gelesen&quot; zu &quot;gelesen_gesamt&quot;. das sieht dann so aus:</p>
<pre><code class="language-cpp">//Pseudo-Code
ReadFile(bla, bla, bla, &amp;gelesen, NULL);
gelesen_gesamt+=gelesen.
</code></pre>
<p>Das lustige an der Sache ist, dass am Ende gelesen_gesamt viel viel größer wird als Anzahl der Bytes in der Datei, wobei netterweise trotzdem alles ebstens klappt. Die neuerzeugte Datei ist gleichgroß wie die Quelldatei.</p>
<p>Bei jedem WriteFile() wird &quot;gelesen&quot; der WriteFile()-Funktion übergeben.<br />
Gibt es hier eine besonderheit bei den Funktionen &quot;ReadFile()&quot; und GetFileSIze oder habe ich irgendwo arithmestische Fehler gemacht?</p>
<p>MfG Tolga.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/563202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/563202</guid><dc:creator><![CDATA[Tolga]]></dc:creator><pubDate>Sun, 18 Jul 2004 15:27:48 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Größenverhältnis  ;~) on Sun, 18 Jul 2004 15:46:13 GMT]]></title><description><![CDATA[<p>abschließendes 0-Zeichen <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/563214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/563214</guid><dc:creator><![CDATA[N00Bie]]></dc:creator><pubDate>Sun, 18 Jul 2004 15:46:13 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Größenverhältnis  ;~) on Sun, 18 Jul 2004 17:36:41 GMT]]></title><description><![CDATA[<p>Wie groß ist denn der Fehler in Bezug auf die Dateigröße bzw. eben pro Block?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/563279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/563279</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Sun, 18 Jul 2004 17:36:41 GMT</pubDate></item><item><title><![CDATA[Reply to Mysteriöses Größenverhältnis  ;~) on Sun, 18 Jul 2004 19:23:58 GMT]]></title><description><![CDATA[<p>Verdammt!<br />
Das ist mir jetzt peinlich. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /><br />
Ich habe STUNDEN lang an dem Mist gehangen und zweifelte schon an mir selbst.<br />
Und was sehe ich da??<br />
Ich habe bei der Ausgabe des Wertes von &quot;gelesen_gesamt&quot; das TCHAR-Feld nciht genullt. (gerade erfundenes Wort. Wird bestimmt mal groß rauskommen.. <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="😉"
    /> / Ihr versteht, was ich meine.) Nun läuft alles bestens. Lief auch eben alles gut aber mir wurde es falsch angezeigt. da kamen Milliarden die dann plötzlich in negative kippten und dann kamen wieder paar milionen Byte und und und..</p>
<p>Man fühl ich mich erleichtert. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /><br />
Danke für euer Interesse.</p>
<p>MfG Tolga.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/563334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/563334</guid><dc:creator><![CDATA[Tolga]]></dc:creator><pubDate>Sun, 18 Jul 2004 19:23:58 GMT</pubDate></item></channel></rss>