<?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[Seltsame Begebenheit beim auslesen aus Datei]]></title><description><![CDATA[<p>Heho hier der code:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;cctype&gt;
using namespace std;

ofstream writen;
ifstream readn;

long Asearch(char* target,short length, ifstream&amp; readn, char* filename) //length is target length without '\0'
{
     bool FOUND = false;
     short i = 0;
     long n = 0,temp;
     readn.open(filename,ios::in);
     if(!readn.good())
     return -2;

     while(!readn.eof())
     {

                       temp = readn.tellg();

                        while(readn.peek() == target[i])
                        {
                                           if(i == length - 1)
                                           {
                                                FOUND = true;
                                                break;
                                                }

                        i++;    
                        }

     i = 0;
     if(FOUND == true)
     break;
     }

     if(FOUND == false)
     return -1;

     n = readn.tellg();
     n = n - (length);
     readn.close();
     return n;
}

int main()
{ 
  writen.open(&quot;test.txt&quot;,ios::out);
  writen &lt;&lt; &quot;aaaaaaaaaaaae&quot; &lt;&lt; endl;
  writen.close();
  printf(&quot;%d lol&quot;,Asearch(&quot;e&quot;,1,readn,&quot;test.txt&quot;));
  getchar();
  return 0;
}
</code></pre>
<p>Geht mir um die FUnktion oben, die eine Zeichenkette in einer Textdatei finden kann(ich weiß noch nicht optimal).<br />
nun folgendes:</p>
<p>Lass ich das &quot;temp = readn.tellg();&quot; weg, scheint &quot;readn.peek()&quot; nicht zu funktionieren, was sich dadurch zeigt, dass die position vom getpointer nicht erhöht wird, also EOF nie erreicht wird.<br />
Sobald ich den &quot;temp&quot; teil wieder einfüge, funktioniert das programm/die funktion wieder.<br />
Scheinbar initialisiert tellg irgendwas, oder es gibt ne andere beschaffenheit von peek die ich nicht kenne<br />
hat wer ne ahnung wie das kommt? oo<br />
danke für alle antworten</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/234755/seltsame-begebenheit-beim-auslesen-aus-datei</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 08:25:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/234755.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 22 Feb 2009 05:37:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Seltsame Begebenheit beim auslesen aus Datei on Sun, 22 Feb 2009 05:37:11 GMT]]></title><description><![CDATA[<p>Heho hier der code:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;cctype&gt;
using namespace std;

ofstream writen;
ifstream readn;

long Asearch(char* target,short length, ifstream&amp; readn, char* filename) //length is target length without '\0'
{
     bool FOUND = false;
     short i = 0;
     long n = 0,temp;
     readn.open(filename,ios::in);
     if(!readn.good())
     return -2;

     while(!readn.eof())
     {

                       temp = readn.tellg();

                        while(readn.peek() == target[i])
                        {
                                           if(i == length - 1)
                                           {
                                                FOUND = true;
                                                break;
                                                }

                        i++;    
                        }

     i = 0;
     if(FOUND == true)
     break;
     }

     if(FOUND == false)
     return -1;

     n = readn.tellg();
     n = n - (length);
     readn.close();
     return n;
}

int main()
{ 
  writen.open(&quot;test.txt&quot;,ios::out);
  writen &lt;&lt; &quot;aaaaaaaaaaaae&quot; &lt;&lt; endl;
  writen.close();
  printf(&quot;%d lol&quot;,Asearch(&quot;e&quot;,1,readn,&quot;test.txt&quot;));
  getchar();
  return 0;
}
</code></pre>
<p>Geht mir um die FUnktion oben, die eine Zeichenkette in einer Textdatei finden kann(ich weiß noch nicht optimal).<br />
nun folgendes:</p>
<p>Lass ich das &quot;temp = readn.tellg();&quot; weg, scheint &quot;readn.peek()&quot; nicht zu funktionieren, was sich dadurch zeigt, dass die position vom getpointer nicht erhöht wird, also EOF nie erreicht wird.<br />
Sobald ich den &quot;temp&quot; teil wieder einfüge, funktioniert das programm/die funktion wieder.<br />
Scheinbar initialisiert tellg irgendwas, oder es gibt ne andere beschaffenheit von peek die ich nicht kenne<br />
hat wer ne ahnung wie das kommt? oo<br />
danke für alle antworten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1667868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1667868</guid><dc:creator><![CDATA[kingcools2]]></dc:creator><pubDate>Sun, 22 Feb 2009 05:37:11 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsame Begebenheit beim auslesen aus Datei on Sun, 22 Feb 2009 05:54:33 GMT]]></title><description><![CDATA[<p>willst du C oder C++ programmieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1667870</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1667870</guid><dc:creator><![CDATA[1frage]]></dc:creator><pubDate>Sun, 22 Feb 2009 05:54:33 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsame Begebenheit beim auslesen aus Datei on Sun, 22 Feb 2009 06:03:57 GMT]]></title><description><![CDATA[<p>c++ <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /> auch wenn diverse dinge von C noch drin sind ^^<br />
inwiefern ist das relevant für die frage?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1667871</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1667871</guid><dc:creator><![CDATA[kingcools2]]></dc:creator><pubDate>Sun, 22 Feb 2009 06:03:57 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsame Begebenheit beim auslesen aus Datei on Sun, 22 Feb 2009 10:50:26 GMT]]></title><description><![CDATA[<p><code>peek</code> soll auch den getpointer nicht erhöhen:<br />
<a href="http://www.cplusplus.com/reference/iostream/istream/peek.html" rel="nofollow">http://www.cplusplus.com/reference/iostream/istream/peek.html</a></p>
<p>Was du suchst ist wohl <code>get</code> :<br />
<a href="http://www.cplusplus.com/reference/iostream/istream/get.html" rel="nofollow">http://www.cplusplus.com/reference/iostream/istream/get.html</a></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1667931</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1667931</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 22 Feb 2009 10:50:26 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsame Begebenheit beim auslesen aus Datei on Sun, 22 Feb 2009 12:04:27 GMT]]></title><description><![CDATA[<p>ok danke, aber das würde ja bedeuten dass tellg() den counter erhöht OO<br />
ich mein damit hats funktioniert oO</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1667992</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1667992</guid><dc:creator><![CDATA[kingcools2]]></dc:creator><pubDate>Sun, 22 Feb 2009 12:04:27 GMT</pubDate></item><item><title><![CDATA[Reply to Seltsame Begebenheit beim auslesen aus Datei on Sun, 22 Feb 2009 23:32:35 GMT]]></title><description><![CDATA[<p>dazu steht in der referenz zwar nichts, aber irgendwie habe ich das gefühl das &quot;tellg()&quot; die position um eins erhöht nachdem die aktuelle position wiedergegeben worden ist. Kann das sein? habe wenn ich das benutze immer seltsame positionserhöhungen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1668457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1668457</guid><dc:creator><![CDATA[kingcools2]]></dc:creator><pubDate>Sun, 22 Feb 2009 23:32:35 GMT</pubDate></item></channel></rss>