<?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[Datei binär lesen]]></title><description><![CDATA[<p>Hey,</p>
<p>ich komme von C und möchte eine Datei binär &quot;Häppchenweise&quot; auslesen. In C war das ziemlich einfach:</p>
<pre><code class="language-cpp">size_t bytes;
while ((bytes = fread(buf, 1, 1024, file))
  ..
</code></pre>
<p>Bei ifstream fehlt mir eine solche Funktion aber. Es gibt read(), das gibt aber ifstream&amp; statt die Zahl der eingelesenen bytes zurück. Und es gibt read_some(), da hat man aber nicht unbedingt das Ende der Datei erreicht wenn man 0 bytes liest. Was wäre also die beste Möglichkeit das oben gezeigte mit C++ Mitteln zu erreichen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/300902/datei-binär-lesen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 11:32:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/300902.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 Mar 2012 20:36:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datei binär lesen on Tue, 13 Mar 2012 20:36:06 GMT]]></title><description><![CDATA[<p>Hey,</p>
<p>ich komme von C und möchte eine Datei binär &quot;Häppchenweise&quot; auslesen. In C war das ziemlich einfach:</p>
<pre><code class="language-cpp">size_t bytes;
while ((bytes = fread(buf, 1, 1024, file))
  ..
</code></pre>
<p>Bei ifstream fehlt mir eine solche Funktion aber. Es gibt read(), das gibt aber ifstream&amp; statt die Zahl der eingelesenen bytes zurück. Und es gibt read_some(), da hat man aber nicht unbedingt das Ende der Datei erreicht wenn man 0 bytes liest. Was wäre also die beste Möglichkeit das oben gezeigte mit C++ Mitteln zu erreichen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2191363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2191363</guid><dc:creator><![CDATA[loli]]></dc:creator><pubDate>Tue, 13 Mar 2012 20:36:06 GMT</pubDate></item><item><title><![CDATA[Reply to Datei binär lesen on Tue, 13 Mar 2012 20:38:10 GMT]]></title><description><![CDATA[<p>loli schrieb:</p>
<blockquote>
<p>Es gibt read(), das gibt aber ifstream&amp; statt die Zahl der eingelesenen bytes zurück.</p>
</blockquote>
<p>Das liegt daran, dass .read() immer exakt so viele Bytes liest, wie man ihm übergibt und ggf. blockiert. Was stört dich daran?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2191364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2191364</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 13 Mar 2012 20:38:10 GMT</pubDate></item><item><title><![CDATA[Reply to Datei binär lesen on Tue, 13 Mar 2012 20:39:47 GMT]]></title><description><![CDATA[<p>Edit: Verlesen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2191365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2191365</guid><dc:creator><![CDATA[Thopthes]]></dc:creator><pubDate>Tue, 13 Mar 2012 20:39:47 GMT</pubDate></item><item><title><![CDATA[Reply to Datei binär lesen on Tue, 13 Mar 2012 20:43:39 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>loli schrieb:</p>
<blockquote>
<p>Es gibt read(), das gibt aber ifstream&amp; statt die Zahl der eingelesenen bytes zurück.</p>
</blockquote>
<p>Das liegt daran, dass .read() immer exakt so viele Bytes liest, wie man ihm übergibt und ggf. blockiert. Was stört dich daran?</p>
</blockquote>
<p>Wenn das Dateiende erreicht wird, liest read die Bytes bis zum Enden und liefert sie ab. Da blockiert nichts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2191367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2191367</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Tue, 13 Mar 2012 20:43:39 GMT</pubDate></item><item><title><![CDATA[Reply to Datei binär lesen on Tue, 13 Mar 2012 20:45:05 GMT]]></title><description><![CDATA[<p>Mit gcount kann man direkt nach der Leseoperation die Zahl der gelesenen Bytes ermitteln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2191368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2191368</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Tue, 13 Mar 2012 20:45:05 GMT</pubDate></item><item><title><![CDATA[Reply to Datei binär lesen on Tue, 13 Mar 2012 20:49:43 GMT]]></title><description><![CDATA[<p>manni66 schrieb:</p>
<blockquote>
<p>Wenn das Dateiende erreicht wird, liest read die Bytes bis zum Enden und liefert sie ab. Da blockiert nichts.</p>
</blockquote>
<p>Das ist aber nicht der Normalfall.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2191370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2191370</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 13 Mar 2012 20:49:43 GMT</pubDate></item><item><title><![CDATA[Reply to Datei binär lesen on Tue, 13 Mar 2012 20:54:27 GMT]]></title><description><![CDATA[<p>manni66 schrieb:</p>
<blockquote>
<p>Mit gcount kann man direkt nach der Leseoperation die Zahl der gelesenen Bytes ermitteln.</p>
</blockquote>
<p>Danke, das löst das Problem.</p>
<p>314159265358979: rofl, natürlich ist das der Normalfall wenn ich eine Datei einlese, da erreicht man schon öfter mal das Ende. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2191373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2191373</guid><dc:creator><![CDATA[loli]]></dc:creator><pubDate>Tue, 13 Mar 2012 20:54:27 GMT</pubDate></item><item><title><![CDATA[Reply to Datei binär lesen on Tue, 13 Mar 2012 21:07:11 GMT]]></title><description><![CDATA[<p>Das Ende kommmt aber genau 1 mal vor. Natürlich wird man das Ende irgendwann erreichen. Muss man hier heute eigentlich alles für ganz dumme erklären, um nicht missverstanden zu werden? -.-</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2191378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2191378</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 13 Mar 2012 21:07:11 GMT</pubDate></item></channel></rss>