<?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[Zeiger wieder an den Anfang setzen???]]></title><description><![CDATA[<p>was die überschrift betrifft bin ich mir nicht so sicher aber ich denke mal das es daran liegt, undzwar habe ich mir zwecks Übungzwecken gedachte eine Art Notizblock zu programmieren. ich kann wunderbar rein schreiben(löschen kommt vielleicht später mal dazu) und ich kann auch auslesen, jetzt ist des Problem nur das beim zweiten mal auslesen der teil des Befehls fürs lesen einen Fehler produziert.</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;cstdio&gt;
#include &lt;string&gt;
using namespace std;

int befehl = -1;
string Speicher;
ofstream DateiS;
ifstream DateiL;
string dateiname = &quot;Speicher&quot;;

void Lesen()
{
  char zeichen;

    DateiL.open( dateiname.c_str(), ios_base::in );
    cout &lt;&lt; &quot;test&quot;&lt;&lt; endl;

  if ( !DateiL )
  {
    cout &lt;&lt; &quot; Datei konnte nicht geöffnet werden!&quot; &lt;&lt; endl;

  }

  while ( !DateiL.eof() )
  {
    DateiL.get( zeichen );
    cout &lt;&lt; zeichen;
  }
 DateiL.close();

}

void Schreiben( string a )
{
  DateiS.open( dateiname.c_str(), ios_base::out | ios_base::app );

  if ( !DateiS )
  {
    cout &lt;&lt; &quot; Datei konnte nicht geöffnet werden!&quot; &lt;&lt; endl;

  }
  DateiS &lt;&lt; a &lt;&lt; endl;

  DateiS.close();
}

int main()
{
  while ( befehl != 0 )
  {
    cout &lt;&lt; endl;
    cout &lt;&lt; &quot;Menu :&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Datenbank abrufen             &lt;1&gt;&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;In Datenbank schreiben        &lt;2&gt;&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Beenden                       &lt;0&gt;&quot; &lt;&lt; endl;
    cout &lt;&lt; endl;
    cout &lt;&lt; &quot;Ihre Eingabe : &quot;;
    cin &gt;&gt; befehl;
    cout &lt;&lt; endl;

    switch ( befehl )
    {
      case 0:
        cout &lt;&lt; endl;
        cout &lt;&lt; &quot;Programm beenden&quot; &lt;&lt; endl;

      break;

      case 1:
        cout &lt;&lt; endl;
        cout &lt;&lt; &quot;Speicher wird abgerufen...&quot; &lt;&lt; endl;
        Lesen();
        cout &lt;&lt; endl;
        cout &lt;&lt; &quot;Speicher kompelett ausgelesen.&quot; &lt;&lt; endl;
      break;

      case 2:
        cout &lt;&lt; &quot;Bitte geben sie den zu speichernden String ein : &quot; &lt;&lt; endl;
        cin &gt;&gt; Speicher;
        cout &lt;&lt; endl;
        Schreiben( Speicher );
      break;
      default:
        cout &lt;&lt; endl;
        cout &lt;&lt; &quot;Ungueltige Eingabe&quot; &lt;&lt; endl;
      break;
    }
    fflush( stdin );
    getchar();

  }
  return 0;
}
</code></pre>
<p>ich vermute mal das der Fehler in der lese Funktion sitzt bin mir aber nicht sicher. Suche den Fehler schon seit mindestens 2 Wochen in sämtlichen Bibliotheken meiner Umgebung.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/153295/zeiger-wieder-an-den-anfang-setzen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 07:27:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/153295.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 14 Jul 2006 21:03:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger wieder an den Anfang setzen??? on Fri, 14 Jul 2006 21:03:50 GMT]]></title><description><![CDATA[<p>was die überschrift betrifft bin ich mir nicht so sicher aber ich denke mal das es daran liegt, undzwar habe ich mir zwecks Übungzwecken gedachte eine Art Notizblock zu programmieren. ich kann wunderbar rein schreiben(löschen kommt vielleicht später mal dazu) und ich kann auch auslesen, jetzt ist des Problem nur das beim zweiten mal auslesen der teil des Befehls fürs lesen einen Fehler produziert.</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;cstdio&gt;
#include &lt;string&gt;
using namespace std;

int befehl = -1;
string Speicher;
ofstream DateiS;
ifstream DateiL;
string dateiname = &quot;Speicher&quot;;

void Lesen()
{
  char zeichen;

    DateiL.open( dateiname.c_str(), ios_base::in );
    cout &lt;&lt; &quot;test&quot;&lt;&lt; endl;

  if ( !DateiL )
  {
    cout &lt;&lt; &quot; Datei konnte nicht geöffnet werden!&quot; &lt;&lt; endl;

  }

  while ( !DateiL.eof() )
  {
    DateiL.get( zeichen );
    cout &lt;&lt; zeichen;
  }
 DateiL.close();

}

void Schreiben( string a )
{
  DateiS.open( dateiname.c_str(), ios_base::out | ios_base::app );

  if ( !DateiS )
  {
    cout &lt;&lt; &quot; Datei konnte nicht geöffnet werden!&quot; &lt;&lt; endl;

  }
  DateiS &lt;&lt; a &lt;&lt; endl;

  DateiS.close();
}

int main()
{
  while ( befehl != 0 )
  {
    cout &lt;&lt; endl;
    cout &lt;&lt; &quot;Menu :&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Datenbank abrufen             &lt;1&gt;&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;In Datenbank schreiben        &lt;2&gt;&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Beenden                       &lt;0&gt;&quot; &lt;&lt; endl;
    cout &lt;&lt; endl;
    cout &lt;&lt; &quot;Ihre Eingabe : &quot;;
    cin &gt;&gt; befehl;
    cout &lt;&lt; endl;

    switch ( befehl )
    {
      case 0:
        cout &lt;&lt; endl;
        cout &lt;&lt; &quot;Programm beenden&quot; &lt;&lt; endl;

      break;

      case 1:
        cout &lt;&lt; endl;
        cout &lt;&lt; &quot;Speicher wird abgerufen...&quot; &lt;&lt; endl;
        Lesen();
        cout &lt;&lt; endl;
        cout &lt;&lt; &quot;Speicher kompelett ausgelesen.&quot; &lt;&lt; endl;
      break;

      case 2:
        cout &lt;&lt; &quot;Bitte geben sie den zu speichernden String ein : &quot; &lt;&lt; endl;
        cin &gt;&gt; Speicher;
        cout &lt;&lt; endl;
        Schreiben( Speicher );
      break;
      default:
        cout &lt;&lt; endl;
        cout &lt;&lt; &quot;Ungueltige Eingabe&quot; &lt;&lt; endl;
      break;
    }
    fflush( stdin );
    getchar();

  }
  return 0;
}
</code></pre>
<p>ich vermute mal das der Fehler in der lese Funktion sitzt bin mir aber nicht sicher. Suche den Fehler schon seit mindestens 2 Wochen in sämtlichen Bibliotheken meiner Umgebung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1097975</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1097975</guid><dc:creator><![CDATA[Turmfalke]]></dc:creator><pubDate>Fri, 14 Jul 2006 21:03:50 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger wieder an den Anfang setzen??? on Fri, 14 Jul 2006 21:41:48 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>verwende lokale variablen in den Funktionen, Übergabeparameter und Rückgabewerte anstatt der globalen Variablen.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1097991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1097991</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Fri, 14 Jul 2006 21:41:48 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger wieder an den Anfang setzen??? on Fri, 14 Jul 2006 21:53:29 GMT]]></title><description><![CDATA[<p>wie wär's mit einem</p>
<pre><code class="language-cpp">DateiL.seekg( 0, ios_base::beg );
</code></pre>
<p>um den Dateizeiger auf den Anfang zu setzen?</p>
<p>Greetz, Swordfish</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1097996</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1097996</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Fri, 14 Jul 2006 21:53:29 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger wieder an den Anfang setzen??? on Fri, 14 Jul 2006 23:32:10 GMT]]></title><description><![CDATA[<p>hm...denke mal der Befehl so voll den close Befehl? getestet und selbes ergebnis</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7971">@akari</a>: bisher bin ich froh wenn ich einigerMassen durch blicke mit lokalen variablen beschäftige ich mich später, dürfte ja auf mein Problem keine Auswirkung haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1098019</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1098019</guid><dc:creator><![CDATA[Turmfalke]]></dc:creator><pubDate>Fri, 14 Jul 2006 23:32:10 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger wieder an den Anfang setzen??? on Sat, 15 Jul 2006 01:41:33 GMT]]></title><description><![CDATA[<p>wie wär's mit:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;

using namespace std;

void wait_return( );

int main()
{
    int choice = 0;

    char filename[ _MAX_PATH + 1 ];

    cout &lt;&lt; &quot;Welche Datei möchten Sie benutzen?&quot; &lt;&lt; endl;

    do {

        cin.getline( filename, _MAX_PATH + 1, '\n' );

        if( cin.fail( ) ) {

            cout &lt;&lt; endl &lt;&lt; &quot;Falsche Eingabe!&quot; &lt;&lt; endl;
            cin.clear( );
            cin.ignore( cin.rdbuf( )-&gt;in_avail( ) );
            wait_return( );

        } else {

            choice = 1;
        }

    } while( !choice );

    fstream file( filename, ios_base::out | ios_base::in );

    if( !file.is_open( ) ) {

        cout &lt;&lt; &quot;Die Datei \&quot;&quot; &lt;&lt; filename &lt;&lt; &quot;\&quot; konnte nicht geöffnet werden!&quot; &lt;&lt; endl;
        return 0;
    }

    do {

        cout &lt;&lt; endl;
        cout &lt;&lt; &quot;Menu:&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;Datenbank abrufen             &lt;1&gt;&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;In Datenbank schreiben        &lt;2&gt;&quot; &lt;&lt; endl;
        cout &lt;&lt; &quot;Beenden                       &lt;0&gt;&quot; &lt;&lt; endl &lt;&lt; endl;
        cout &lt;&lt; &quot;Ihre Auswahl: &quot;;
        cin &gt;&gt; choice;

        if( cin.fail( ) ) {

            cout &lt;&lt; endl &lt;&lt; &quot;Falsche Eingabe!&quot; &lt;&lt; endl;
            cin.clear( );
            cin.ignore( cin.rdbuf( )-&gt;in_avail( ) );
            wait_return( );

        } else {

            cout &lt;&lt; endl;
            string data;
            char ch;

            switch( choice ) {

                case 0:
                    break;

                case 1:

                    cout &lt;&lt; &quot;Speicher wird abgerufen...&quot; &lt;&lt; endl &lt;&lt; endl;
                    file.seekg( 0, ios_base::beg );

                    while( !file.eof( ) ) {

                        file.read( &amp;ch, 1 );
                        cout &lt;&lt; ch;
                    }

                    file.clear( );
                    cout &lt;&lt; endl &lt;&lt; &quot;Speicher kompelett ausgelesen.&quot; &lt;&lt; endl;
                    break;

                case 2:

                    cout &lt;&lt; &quot;Bitte geben sie den zu speichernden String ein:&quot; &lt;&lt; endl;
                    cin &gt;&gt; data;
                    file &lt;&lt; data &lt;&lt; &quot;\r\n&quot;;
                    break;

                default:

                    cout &lt;&lt; endl &lt;&lt; &quot;Falsche Eingabe!&quot; &lt;&lt; endl;
                    wait_return( );
                    break;
            }
        }

    } while( choice );

    file.close( );
}

void wait_return( )
{
    cout &lt;&lt; endl &lt;&lt; &quot;Drücken Sie Enter...&quot; &lt;&lt; endl;
    cin.clear( );
    cin.ignore( cin.rdbuf( )-&gt;in_avail( ) );
    cin.get( );
    cin.clear( );
    cin.ignore( cin.rdbuf( )-&gt;in_avail( ) );
}
</code></pre>
<p>Greetz, Swordfish</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1098039</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1098039</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Sat, 15 Jul 2006 01:41:33 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger wieder an den Anfang setzen??? on Sat, 15 Jul 2006 07:28:46 GMT]]></title><description><![CDATA[<p>ok Swordfish danke erst mal der Quelltext funktioniert so weit (kann scheinbar keine Datei erstellen?!?)nur verstehen möchte ich auch gerne, weil ich ja sonst nichts lerne.(will mal besser nicht alles auflisten was ich nicht verstehe)Bei dem meiningen Quelltext fehlt doch lediglich irgendwo ein Befehl des alles wieder in die Ursprungs Position bringt? könntest du mir vieleicht(ignoriere doch bitte mal meine gansen globalen variablen) zeigen wo ich diesen einfügen muss? ich denke ja mal das es sich dabei um den von dir beim ersten Post beigesteuerten Befehlt handelt</p>
<pre><code>DateiL.seekg( 0, ios_base::beg );
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1098062</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1098062</guid><dc:creator><![CDATA[Turmfalke]]></dc:creator><pubDate>Sat, 15 Jul 2006 07:28:46 GMT</pubDate></item></channel></rss>