<?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[File Funktionen für große Dateien]]></title><description><![CDATA[<p>Hi, ich möchte die File Funktionen (fopen, fread, etc.) für meine Programm verwenden, dass von 1-50MB Binär-Dateien auslesen soll. Problem ist, dass nach einer gewissen Anzahl von fread Funktionen einfach nichts mehr gelesen wird.</p>
<p>Hier mal ein paar Ausschnitte:</p>
<pre><code class="language-cpp">//Get file size (in bytes)
CurPos = ftell(FileStream);//Store the current position of the seek pointer
fseek(FileStream, 0L, SEEK_END);//Set the seek pointer to the end of the file
Size = ftell(FileStream);//Store the position (=size) of the seek pointer
fseek(FileStream, CurPos, SEEK_SET);//Set the seek pointer back to the beginning
//

//Den ganzen Inhalt in den Buffer schreiben
Data = new unsigned char[Size];
fread(Data, 1, Size, FileStream);
fseek(FileStream, CurPos+4, SEEK_SET);

//Nun den Header (Zahlen) auslesen und in Vars schreiben
if(fread(&amp;VarA, 4, 1, FileStream) != 1)
	return;
if(fread(&amp;VarB, 4, 1, FileStream) != 1)
	return;
if(fread(&amp;VarC, 4, 1, FileStream) != 1)
	return;
if(fread(&amp;VarD, 4, 1, FileStream) != 1)
	return;

//... dann die Forschleife
//... dann aufräumen und return
</code></pre>
<p>Nach dem Ausschnitt kommt ne For-Schleife, die dann immer weiter 4 Bytes in der Datei weitergeht und Werte ausliest. Das Problem ist, dass eben nach kurzer Zeit schon kein Wert mehr ausgelesen wird, sondern 0 zurückgegeben wird.</p>
<p>Ist anhand dieser Codeausschnitte schon ein Fehler zu erkennen, den ich mache</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/266872/file-funktionen-für-große-dateien</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 19:00:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/266872.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 15 May 2010 16:51:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to File Funktionen für große Dateien on Sat, 15 May 2010 16:51:37 GMT]]></title><description><![CDATA[<p>Hi, ich möchte die File Funktionen (fopen, fread, etc.) für meine Programm verwenden, dass von 1-50MB Binär-Dateien auslesen soll. Problem ist, dass nach einer gewissen Anzahl von fread Funktionen einfach nichts mehr gelesen wird.</p>
<p>Hier mal ein paar Ausschnitte:</p>
<pre><code class="language-cpp">//Get file size (in bytes)
CurPos = ftell(FileStream);//Store the current position of the seek pointer
fseek(FileStream, 0L, SEEK_END);//Set the seek pointer to the end of the file
Size = ftell(FileStream);//Store the position (=size) of the seek pointer
fseek(FileStream, CurPos, SEEK_SET);//Set the seek pointer back to the beginning
//

//Den ganzen Inhalt in den Buffer schreiben
Data = new unsigned char[Size];
fread(Data, 1, Size, FileStream);
fseek(FileStream, CurPos+4, SEEK_SET);

//Nun den Header (Zahlen) auslesen und in Vars schreiben
if(fread(&amp;VarA, 4, 1, FileStream) != 1)
	return;
if(fread(&amp;VarB, 4, 1, FileStream) != 1)
	return;
if(fread(&amp;VarC, 4, 1, FileStream) != 1)
	return;
if(fread(&amp;VarD, 4, 1, FileStream) != 1)
	return;

//... dann die Forschleife
//... dann aufräumen und return
</code></pre>
<p>Nach dem Ausschnitt kommt ne For-Schleife, die dann immer weiter 4 Bytes in der Datei weitergeht und Werte ausliest. Das Problem ist, dass eben nach kurzer Zeit schon kein Wert mehr ausgelesen wird, sondern 0 zurückgegeben wird.</p>
<p>Ist anhand dieser Codeausschnitte schon ein Fehler zu erkennen, den ich mache</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1897617</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1897617</guid><dc:creator><![CDATA[FileFrust]]></dc:creator><pubDate>Sat, 15 May 2010 16:51:37 GMT</pubDate></item><item><title><![CDATA[Reply to File Funktionen für große Dateien on Sat, 15 May 2010 17:19:27 GMT]]></title><description><![CDATA[<p>ne</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1897622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1897622</guid><dc:creator><![CDATA[mne]]></dc:creator><pubDate>Sat, 15 May 2010 17:19:27 GMT</pubDate></item><item><title><![CDATA[Reply to File Funktionen für große Dateien on Sat, 15 May 2010 19:39:04 GMT]]></title><description><![CDATA[<p>Du bist im falschen (Unter)forum, das ist kein C++. Im übrigen kann es nicht an einer zu großen Datei liegen, da 50 MB gar nichts sind. Allerdings kann man glaube nicht mit fseek an das Ende der Datei gehen, wenn man sich im Binärmodus findet, eventuell scheitert es ja daran.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1897662</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1897662</guid><dc:creator><![CDATA[jkljkl]]></dc:creator><pubDate>Sat, 15 May 2010 19:39:04 GMT</pubDate></item></channel></rss>