<?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 in Puffer einlesen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte blockweise Zeichen aus einer Textdatei verarbeiten. Dazu öffne ich eine vorhandene Datei und setze den Datei-Lesezeiger auf den Dateianfang:</p>
<p><strong>inputFile.open(fileName, std::ios::in);<br />
inputFile.seekg(0, std::ios::end);</strong></p>
<p>dann intitalisiere ich einen Puffer und lese einen Datenblock ein:</p>
<p><strong>static const int BUFFER_SIZE = 512; // Puffergroesse 512 Zeichen<br />
char buffer[BUFFER_SIZE]; // Puffer anlegen<br />
inputFile.read(buffer, bufferSize); // Date lesen, Puffer füllen</strong></p>
<p>/** Hier kommt die Pufferverarbeitung **/</p>
<p><strong>inputFile.read(buffer, bufferSize); // Neuen Datenblock einlesen</strong></p>
<p>Das funktioniert solange bis man an das Dateiende kommt. Dann liest &quot;read&quot; soviele Zeichen in den Puffer bis das Dateiende erreicht ist, d.h. der Puffer von 512 Zeichen ist z.B. mit nur 3 Zeichen gefüllt.</p>
<p>Frage: Wie kann ich beim blockweisen lesen erkennen, wieviele verbleibende Zeichen eingelesen sind?</p>
<p>Gruß,<br />
Bitshift</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/220759/ifstream-in-puffer-einlesen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 06 Oct 2026 18:01:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/220759.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 20 Aug 2008 14:31:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ifstream in Puffer einlesen on Wed, 20 Aug 2008 14:31:32 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte blockweise Zeichen aus einer Textdatei verarbeiten. Dazu öffne ich eine vorhandene Datei und setze den Datei-Lesezeiger auf den Dateianfang:</p>
<p><strong>inputFile.open(fileName, std::ios::in);<br />
inputFile.seekg(0, std::ios::end);</strong></p>
<p>dann intitalisiere ich einen Puffer und lese einen Datenblock ein:</p>
<p><strong>static const int BUFFER_SIZE = 512; // Puffergroesse 512 Zeichen<br />
char buffer[BUFFER_SIZE]; // Puffer anlegen<br />
inputFile.read(buffer, bufferSize); // Date lesen, Puffer füllen</strong></p>
<p>/** Hier kommt die Pufferverarbeitung **/</p>
<p><strong>inputFile.read(buffer, bufferSize); // Neuen Datenblock einlesen</strong></p>
<p>Das funktioniert solange bis man an das Dateiende kommt. Dann liest &quot;read&quot; soviele Zeichen in den Puffer bis das Dateiende erreicht ist, d.h. der Puffer von 512 Zeichen ist z.B. mit nur 3 Zeichen gefüllt.</p>
<p>Frage: Wie kann ich beim blockweisen lesen erkennen, wieviele verbleibende Zeichen eingelesen sind?</p>
<p>Gruß,<br />
Bitshift</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1568345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1568345</guid><dc:creator><![CDATA[BitShift]]></dc:creator><pubDate>Wed, 20 Aug 2008 14:31:32 GMT</pubDate></item><item><title><![CDATA[Reply to ifstream in Puffer einlesen on Wed, 20 Aug 2008 14:36:45 GMT]]></title><description><![CDATA[<p>Mit der gcount-Methode.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1568351</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1568351</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Wed, 20 Aug 2008 14:36:45 GMT</pubDate></item><item><title><![CDATA[Reply to ifstream in Puffer einlesen on Wed, 20 Aug 2008 14:48:31 GMT]]></title><description><![CDATA[<p>MFK schrieb:</p>
<blockquote>
<p>Mit der gcount-Methode.</p>
</blockquote>
<p>Danke MFK! Das war genau was ich gesucht habe...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1568364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1568364</guid><dc:creator><![CDATA[BitShift]]></dc:creator><pubDate>Wed, 20 Aug 2008 14:48:31 GMT</pubDate></item><item><title><![CDATA[Reply to ifstream in Puffer einlesen on Wed, 20 Aug 2008 15:31:21 GMT]]></title><description><![CDATA[<p>Nur als Tipp:<br />
Es hat ca. 20 Minuten benötigt, bis du die Antwort hattest (Zeit von deinem ersten Post bis zu deinem zweiten Post). Wahrscheinlich wärst du etwas schneller, wenn du in einer C++ Referenz nachschauen würdest:<br />
<a href="http://www.cplusplus.com/reference/" rel="nofollow">http://www.cplusplus.com/reference/</a></p>
<p>Die Referenz ist zwar nicht ganz vollständig, aber das wichtigste und meist verwendeste wird abgedeckt <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="😉"
    /></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1568405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1568405</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Wed, 20 Aug 2008 15:31:21 GMT</pubDate></item><item><title><![CDATA[Reply to ifstream in Puffer einlesen on Wed, 20 Aug 2008 15:40:48 GMT]]></title><description><![CDATA[<p>Da kann ich Dravere nur zustimmen, <a href="http://cplusplus.com" rel="nofollow">cplusplus.com</a> finde ich wirklich sehr praktisch. Auch zur STL kann man sich da sehr gut informieren.</p>
<p>Ach ja, und damit du nicht alles fett schreiben musst und Code trotzdem übersichtlich darstellen kannst, gibts hier C++-Tags (erste Schaltfläche oben links) - also einfach</p>
<pre><code class="language-cpp">hier steht der Code
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1568413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1568413</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 20 Aug 2008 15:40:48 GMT</pubDate></item></channel></rss>