<?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[Pointer in Files zurück auf Beginn setzen]]></title><description><![CDATA[<p>Hallo, ich habe mal eine Frage.<br />
Ich setze mich gerade mit der Bearbeitung von Excel-Listen zwecks Ferienarbeit auseinander.<br />
Da ich hier immer wieder das gleiche machen muss (und keinen Bock auf VB hatte), hab ich mir ein kleines ganz hilfreiches C++ Programm dafür geschrieben.<br />
Das einzige Problem, welches ich momentan habe ist, dass, wenn ich die File durchsuche nach den benötigten Datensätzen, die Abfrage bis eof läuft.<br />
Wenn ich nun die File schließe, um sie anschließend wieder zu öffnen (was für mich recht logisch war, um den Pointer zurück auf den Dateianfang zu schieben), erhalte ich einen Fehler beim Öffnen, weil bei bei der Abfrage</p>
<pre><code class="language-cpp">fstream eingabe
eingabe.open(dateiname1,ios::in);
if(!eingabe.good())
{
    cout&lt;&lt;&quot;Fehler beim Öffnen der Eingabedatei!!&quot;&lt;&lt;endl;
}
</code></pre>
<p>was zur Folge hat, dass ich nicht mehr auf die Datei zugreifen kann und die benötigten Datensätze einlesen kann.<br />
Da ich mittels</p>
<pre><code class="language-cpp">for(int i = 0;i&lt;10&amp;&amp;eingabe.eof();i++)
{
   eingabe&gt;&gt;rein[i];
}
</code></pre>
<p>Die Datei auslese funktioniert komischerweise auch nicht dieser Code am Anfang der Methode:</p>
<pre><code class="language-cpp">eingabe.seekg(0,ios::beg);
</code></pre>
<p>was mich einigermaßen verwundert hat, jetz hab ich das Problem, dass ich eben wieder zurück an den Anfang der File möchte, jedoch nicht dorthin komme, was bedeutet, ich dürfte den ganzen Scheiß per Hand machen, also bitte:<br />
Helft mir!!!<br />
Thx so far</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/119335/pointer-in-files-zurück-auf-beginn-setzen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 22:06:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/119335.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 31 Aug 2005 07:45:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Pointer in Files zurück auf Beginn setzen on Wed, 31 Aug 2005 07:45:45 GMT]]></title><description><![CDATA[<p>Hallo, ich habe mal eine Frage.<br />
Ich setze mich gerade mit der Bearbeitung von Excel-Listen zwecks Ferienarbeit auseinander.<br />
Da ich hier immer wieder das gleiche machen muss (und keinen Bock auf VB hatte), hab ich mir ein kleines ganz hilfreiches C++ Programm dafür geschrieben.<br />
Das einzige Problem, welches ich momentan habe ist, dass, wenn ich die File durchsuche nach den benötigten Datensätzen, die Abfrage bis eof läuft.<br />
Wenn ich nun die File schließe, um sie anschließend wieder zu öffnen (was für mich recht logisch war, um den Pointer zurück auf den Dateianfang zu schieben), erhalte ich einen Fehler beim Öffnen, weil bei bei der Abfrage</p>
<pre><code class="language-cpp">fstream eingabe
eingabe.open(dateiname1,ios::in);
if(!eingabe.good())
{
    cout&lt;&lt;&quot;Fehler beim Öffnen der Eingabedatei!!&quot;&lt;&lt;endl;
}
</code></pre>
<p>was zur Folge hat, dass ich nicht mehr auf die Datei zugreifen kann und die benötigten Datensätze einlesen kann.<br />
Da ich mittels</p>
<pre><code class="language-cpp">for(int i = 0;i&lt;10&amp;&amp;eingabe.eof();i++)
{
   eingabe&gt;&gt;rein[i];
}
</code></pre>
<p>Die Datei auslese funktioniert komischerweise auch nicht dieser Code am Anfang der Methode:</p>
<pre><code class="language-cpp">eingabe.seekg(0,ios::beg);
</code></pre>
<p>was mich einigermaßen verwundert hat, jetz hab ich das Problem, dass ich eben wieder zurück an den Anfang der File möchte, jedoch nicht dorthin komme, was bedeutet, ich dürfte den ganzen Scheiß per Hand machen, also bitte:<br />
Helft mir!!!<br />
Thx so far</p>
]]></description><link>https://www.c-plusplus.net/forum/post/861820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/861820</guid><dc:creator><![CDATA[Vorden]]></dc:creator><pubDate>Wed, 31 Aug 2005 07:45:45 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer in Files zurück auf Beginn setzen on Wed, 31 Aug 2005 07:50:42 GMT]]></title><description><![CDATA[<p>Wenn der Stream nicht good() (also eof, fail, bad oder eine Kombination daraus) ist, macht seekg und Konsorten garnix.</p>
<p>Einfach vorher eingabe.clear() aufrufen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/861825</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/861825</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Wed, 31 Aug 2005 07:50:42 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer in Files zurück auf Beginn setzen on Wed, 31 Aug 2005 08:04:40 GMT]]></title><description><![CDATA[<p>wo sollte ich eingabe.clear() aufrufen</p>
<p>btw:<br />
zusatz zu gerade:<br />
ich lasse immer so ca. 25 Datensätze auf einmal korrigieren. Habe mir hierbei gerade einmal den gelieferten Pointer von eingabe.seekg(0,ios::beg); angesehen, bei den ersten 25 Datensätzen, die aber alle einzeln abgerufen werden, wobei jeweils ein Funktionsaufruf dort steht, geht der Pointer immer zurück auf den Anfang der File, jedoch, wenn ich den 2. Datensatz eingebe, wird der NULL-Pointer zurückgegeben, was mich irgendwie verwundert, obwohl die Eingaben gelöscht werden und eigentlich alles beim 2./3./... mal genau gleich aufgerufen wird, wie beim 1. mal.<br />
Ich bin dezent verzweifelt</p>
<p>Edit: Die Kombination zwischen eingabe.clear(); und eingabe.seekg(0,ios::beg); hat mir die Lösung gebracht<br />
Thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/861831</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/861831</guid><dc:creator><![CDATA[Vorden]]></dc:creator><pubDate>Wed, 31 Aug 2005 08:04:40 GMT</pubDate></item></channel></rss>