<?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[Ist seekg praktisch notwendig?]]></title><description><![CDATA[<p>Hi,</p>
<p>klar, <code>seekg</code> soll schon drin bleiben, die Frage ist jedoch: Wenn man richtig liest, muss man dann jemals &quot;zurückgehen&quot;? Eigentlich liest man dann doch in einem Rutsch?<br />
Und wann könnte man schon in einer Datei hin und her springen? Wenn man schnell an verschiedene Daten in der Datei ran muss, läd man die doch einfach ins Programm.<br />
Mehr Anwendungsfälle kann ich mir auf die Schnelle nicht ausdenken.</p>
<p>Wo braucht man das also in der Praxis?</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/314135/ist-seekg-praktisch-notwendig</link><generator>RSS for Node</generator><lastBuildDate>Sat, 01 Aug 2026 22:36:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/314135.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 21 Feb 2013 15:34:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ist seekg praktisch notwendig? on Thu, 21 Feb 2013 15:34:45 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>klar, <code>seekg</code> soll schon drin bleiben, die Frage ist jedoch: Wenn man richtig liest, muss man dann jemals &quot;zurückgehen&quot;? Eigentlich liest man dann doch in einem Rutsch?<br />
Und wann könnte man schon in einer Datei hin und her springen? Wenn man schnell an verschiedene Daten in der Datei ran muss, läd man die doch einfach ins Programm.<br />
Mehr Anwendungsfälle kann ich mir auf die Schnelle nicht ausdenken.</p>
<p>Wo braucht man das also in der Praxis?</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300658</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300658</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Thu, 21 Feb 2013 15:34:45 GMT</pubDate></item><item><title><![CDATA[Reply to Ist seekg praktisch notwendig? on Thu, 21 Feb 2013 15:49:41 GMT]]></title><description><![CDATA[<p>Ein Anwendungsfall von Wireshark ist zum Beispiel folender:</p>
<p>Es soll ein großes Caputurefile geladen werden mit mehreren Millionen Telegrammen. Die Dateigröße ist einige GB groß. In den Speicher kannst du auch nicht alles laden, weil a - soviel gar nicht reinpasst und b - der User vielleicht nicht alle Daten anschauen will. Was machst du:</p>
<p>- Durch die Datei laufen und jedes Telegram parsen und verarbeiten.<br />
- Dabei offset Position und Länge des Telegrams in der Datei speichern.<br />
- Telegram verwerfen und zum nächsten fortfahren.<br />
- Wenn der User ein bestimmtes Telegram anspringt, seekst du zu der Stelle in der Datei und liest das Telegram in den Speicher rein.</p>
<p>Quasi, copy on access <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> Du liest also nur die Information komplett aus, wenn sie benötigt werden. Ansonsten reicht dir nur die Information wo du was findest (offset) der Inhalt aber erstmal nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300663</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 21 Feb 2013 15:49:41 GMT</pubDate></item><item><title><![CDATA[Reply to Ist seekg praktisch notwendig? on Thu, 21 Feb 2013 15:50:12 GMT]]></title><description><![CDATA[<p>Einfachstes Beispiel: Datenbank.</p>
<p>Du hast N Records in der Datei abgelegt und willst den 27. haben -&gt; seek</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300664</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Thu, 21 Feb 2013 15:50:12 GMT</pubDate></item><item><title><![CDATA[Reply to Ist seekg praktisch notwendig? on Thu, 21 Feb 2013 15:56:41 GMT]]></title><description><![CDATA[<p>Ah, natürlich. Dass die File zu groß zum Laden ist, da hab ich nicht dran gedacht.<br />
Da ist <code>seekg</code> natürlich der Kandidat, thx</p>
<blockquote>
<p>Einfachstes Beispiel: Datenbank.</p>
<p>Du hast N Records in der Datei abgelegt und willst den 27. haben -&gt; seek</p>
</blockquote>
<p>Klar, zum Vorwärtsspringen braucht man es natürlich.... am Anfang den Filepointer in die richtige Position bringen, klar. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Ich meinte mehr speziell das Rückwärtsspringen, wie es in einem Thread hier gefragt wurde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300667</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300667</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Thu, 21 Feb 2013 15:56:41 GMT</pubDate></item><item><title><![CDATA[Reply to Ist seekg praktisch notwendig? on Thu, 21 Feb 2013 16:06:20 GMT]]></title><description><![CDATA[<p>Oder du hast ein grosses Archiv (z.B. tar oder zip) und willst ein Verzeichnis entpacken. Erst springst du an die richtige Position, wie im Fileheader angegeben. Dann enthält das Verzeichnis einen symbolischen Link -&gt; möglicherweise musst du rückwärts springen.</p>
<p>Oder die Datenbank, die öffnest du auch nicht für jede Anfrage neu. Erst willst du den 27. Eintrag haben -&gt; seekg. Dann den 13. -&gt; seek back.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300673</guid><dc:creator><![CDATA[zipzap]]></dc:creator><pubDate>Thu, 21 Feb 2013 16:06:20 GMT</pubDate></item><item><title><![CDATA[Reply to Ist seekg praktisch notwendig? on Thu, 21 Feb 2013 16:08:24 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<p>Ich meinte mehr speziell das Rückwärtsspringen, wie es in einem Thread hier gefragt wurde.</p>
</blockquote>
<p>Immernoch Datenbank. Du willst nachdem du den 27. Record hast, jetzt den 12. haben <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="😉"
    /> Du schließt das Dateihandle ja nicht dauernd.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300674</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300674</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Thu, 21 Feb 2013 16:08:24 GMT</pubDate></item><item><title><![CDATA[Reply to Ist seekg praktisch notwendig? on Thu, 21 Feb 2013 16:10:48 GMT]]></title><description><![CDATA[<p>Jegliche Form von Datenbanken und Archiven, das wurde ja schon genannt.<br />
Aber auch z.B. bei tail-ähnlichen Tools. Wie viele Bytes du lesen musst, kannst du vorher nur raten, du wirst also gelegentlich zurückspringen müssen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300676</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Thu, 21 Feb 2013 16:10:48 GMT</pubDate></item><item><title><![CDATA[Reply to Ist seekg praktisch notwendig? on Thu, 21 Feb 2013 16:52:26 GMT]]></title><description><![CDATA[<p>Gut, das klingt einleuchtend. Ich dachte halt, bei einem so banalen Beispiel mit 27.en oder 13.en Einträgen kann es nicht schlimm sein, die ganze DB einzulesen, aber ich denke, echte DBs sind da sehr viel größer (&gt; 100K Einträge)?</p>
<p>Na dann, Frage hat sich geklärt, vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300701</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300701</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Thu, 21 Feb 2013 16:52:26 GMT</pubDate></item></channel></rss>