<?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[ifstream Merkwürdigkeit]]></title><description><![CDATA[<p>Folgende Punkt, über den gestolpert bin.<br />
Da ich eine Datei in mehrere Chunk zerlegen und als einzelne Streams versenden möchte, nutze ich sinnvollerweise ifstream / ofstream.</p>
<p>Dabei bin ich auf eine Merkwürdigkeit gestoßen, die ich nicht ganz verstehe.<br />
Ich habe also einen ifstream</p>
<pre><code>ifstream infile (file,ifstream::binary);
</code></pre>
<p>und lese jeweils einzelne Datenblöcke aus der Datei, etwa so:</p>
<pre><code>infile.seekg(z.chunksize * i);
infile.read(buffer, z.chunksize);
</code></pre>
<p>wobei z eine eigene Struktur zur Chunkverwaltung ist.</p>
<p>In einer Testfunktion funktioniert dieses Zerlegen und Zusammensetzen einer bin Datei tadellos, freilich nur solange der ifstream beständig geöffnet ist.</p>
<p>Öffne und schließe ich die Datei beständig</p>
<pre><code>[b]infile.open(file);[/b]
infile.seekg(z.chunksize * i);
infile.read(buffer, z.chunksize);
[b]infile.close()[/b];
</code></pre>
<p>so ist das Ergenbnis zwar eine Datei mit der entsprechenden Bytezahl, aber sie ist korrupt.</p>
<p>Gibt es, was das Öffnen und Schließen einer Datei belegt, einen zeitkritischen Faktor?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/191007/ifstream-merkwürdigkeit</link><generator>RSS for Node</generator><lastBuildDate>Wed, 01 Jul 2026 21:16:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/191007.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Aug 2007 07:14:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ifstream Merkwürdigkeit on Wed, 29 Aug 2007 07:15:30 GMT]]></title><description><![CDATA[<p>Folgende Punkt, über den gestolpert bin.<br />
Da ich eine Datei in mehrere Chunk zerlegen und als einzelne Streams versenden möchte, nutze ich sinnvollerweise ifstream / ofstream.</p>
<p>Dabei bin ich auf eine Merkwürdigkeit gestoßen, die ich nicht ganz verstehe.<br />
Ich habe also einen ifstream</p>
<pre><code>ifstream infile (file,ifstream::binary);
</code></pre>
<p>und lese jeweils einzelne Datenblöcke aus der Datei, etwa so:</p>
<pre><code>infile.seekg(z.chunksize * i);
infile.read(buffer, z.chunksize);
</code></pre>
<p>wobei z eine eigene Struktur zur Chunkverwaltung ist.</p>
<p>In einer Testfunktion funktioniert dieses Zerlegen und Zusammensetzen einer bin Datei tadellos, freilich nur solange der ifstream beständig geöffnet ist.</p>
<p>Öffne und schließe ich die Datei beständig</p>
<pre><code>[b]infile.open(file);[/b]
infile.seekg(z.chunksize * i);
infile.read(buffer, z.chunksize);
[b]infile.close()[/b];
</code></pre>
<p>so ist das Ergenbnis zwar eine Datei mit der entsprechenden Bytezahl, aber sie ist korrupt.</p>
<p>Gibt es, was das Öffnen und Schließen einer Datei belegt, einen zeitkritischen Faktor?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354294</guid><dc:creator><![CDATA[Percy2000]]></dc:creator><pubDate>Wed, 29 Aug 2007 07:15:30 GMT</pubDate></item><item><title><![CDATA[Reply to ifstream Merkwürdigkeit on Wed, 29 Aug 2007 07:41:57 GMT]]></title><description><![CDATA[<p>Ist es eigentlich Absicht, daß beim zweiten Beispiel kein ios::binary angegeben wurde?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354309</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354309</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 29 Aug 2007 07:41:57 GMT</pubDate></item><item><title><![CDATA[Reply to ifstream Merkwürdigkeit on Wed, 29 Aug 2007 07:45:37 GMT]]></title><description><![CDATA[<p>Nein, genau das war das Problem</p>
<p>infile.open(file, ios::in | ios::binary);</p>
<p>Damit ist das Problem gelöst, herzlichen Dank.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354311</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354311</guid><dc:creator><![CDATA[Percy2000]]></dc:creator><pubDate>Wed, 29 Aug 2007 07:45:37 GMT</pubDate></item></channel></rss>