<?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[Zwei Iteratoren auf einen Stream]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe Folgendes Problem:<br />
Ich will zwei Iteratoren auf einen Stream packen.</p>
<pre><code class="language-cpp">fstream input(&quot;tralala.txt&quot;);

istreambuf_iterator&lt;char&gt;      start(input);
istreambuf_iterator&lt;char&gt;      end;
istreambuf_iterator&lt;char&gt;      last(input);
</code></pre>
<p>Wenn ich nun <strong>start</strong> inkrementiere, erhöht sich <strong>last</strong> komischerweise auch immer. Beide Iteratoren zeigen dann immer auf die gleiche Stelle...<br />
Kann man zwei Iteratoren nicht gleichzeitig auf einem Stream laufen lassen?</p>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/137063/zwei-iteratoren-auf-einen-stream</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 15:54:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/137063.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 Feb 2006 09:16:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zwei Iteratoren auf einen Stream on Wed, 15 Feb 2006 09:16:47 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich habe Folgendes Problem:<br />
Ich will zwei Iteratoren auf einen Stream packen.</p>
<pre><code class="language-cpp">fstream input(&quot;tralala.txt&quot;);

istreambuf_iterator&lt;char&gt;      start(input);
istreambuf_iterator&lt;char&gt;      end;
istreambuf_iterator&lt;char&gt;      last(input);
</code></pre>
<p>Wenn ich nun <strong>start</strong> inkrementiere, erhöht sich <strong>last</strong> komischerweise auch immer. Beide Iteratoren zeigen dann immer auf die gleiche Stelle...<br />
Kann man zwei Iteratoren nicht gleichzeitig auf einem Stream laufen lassen?</p>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/994550</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/994550</guid><dc:creator><![CDATA[Cyriz]]></dc:creator><pubDate>Wed, 15 Feb 2006 09:16:47 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei Iteratoren auf einen Stream on Wed, 15 Feb 2006 10:17:19 GMT]]></title><description><![CDATA[<p>Das dürfte daran liegen, daß istreambuf_iteratoren die Dateiposition nicht selber verwalten, sondern Bewegungen lediglich an den drunterliegenden Stream-Buffer weitergeben (und davon hast du nur einen) - aber afaik ist auch nicht garantiert, daß ein reiner Input-Iterator sich unabhängig von seinen Kopien bewegen lässt.</p>
<p>(bau dir doch einen eigenständigen Stream-Operator, der sich die Position im File merkt und vor jeder Lese/Schreiboperation erstmal seekg() bzw. seekp() aufruft)</p>
<p>PS: Boost::Spirit hat einen <a href="http://www.boost.org/libs/spirit/doc/multi_pass.html" rel="nofollow">Multipass-Iterator</a>, der auch für solche Probleme genutzt werden kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/994604</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/994604</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Wed, 15 Feb 2006 10:17:19 GMT</pubDate></item><item><title><![CDATA[Reply to Zwei Iteratoren auf einen Stream on Wed, 15 Feb 2006 11:10:08 GMT]]></title><description><![CDATA[<p>Ah ja.. hatte ich fast beführchtet.</p>
<p>vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/994674</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/994674</guid><dc:creator><![CDATA[Cyriz]]></dc:creator><pubDate>Wed, 15 Feb 2006 11:10:08 GMT</pubDate></item></channel></rss>