Klassen / Zeigerfeld - Fehlerhafte Ausgabe



  • Wow, danke für eure Antworten!
    Auch wenn ich die Funktionsweise von Vektoren noch nicht völlig verstehe, wirkt die Variante trotzdem deutlich angenehmer.
    Ich werde mich morgen mal ausführlicher damit beschäftigen und vielleicht auch nochmal mit meinem Übungsleiter drüber reden.

    Vielen Dank soweit 🙂



  • wildschwein schrieb:

    Wow, danke für eure Antworten!
    Auch wenn ich die Funktionsweise von Vektoren noch nicht völlig verstehe, wirkt die Variante trotzdem deutlich angenehmer.
    Ich werde mich morgen mal ausführlicher damit beschäftigen und vielleicht auch nochmal mit meinem Übungsleiter drüber reden.

    Vielen Dank soweit 🙂

    Den Kerl einfach hier vorbeischicken, den Rest kriegen wir schon hin 😉



  • So, nachdem ich mich jetzt nach einiger Zeit mit anderen Prioritäten mal wieder intensiv mit meiner kleinen Aufgabe hier auseinandersetzen konnte, möchte mich mich nochmal bedanken.

    Das Programm ist mittlerweile deutlich gewachsen und seitdem ich alles mit Vektoren schreibe, hatte ich keine größeren Pausen wegen unauffindbarer Fehler mehr und es läuft insgesamt ganz wunderbar.
    Mein Übungsleiter schein zwar zwischenzeitlich etwas verwirrt, als er keine guten alten Arrays gefunden hat und musste erstmal fragen, was ich denn da gemacht habe, ist aber doch sicher zufrieden, dass die Sache so schön läuft 😉

    An dieser Stelle habe ich nochmal eine Frage:
    Ich würde die Vektoren nun gerne auslesen, abspeichern und bei Programmstart wieder einlesen.
    Darüber habe ich bisher leider noch nie was gehört.
    Ich könnte mir vorstellen, dass das mit fprintf und irgendeiner Funktion, die die Textdatei dann wieder wie gewünscht verarbeitet, klappt.
    Ich würde mich freuen, wenn mir jemand kurz eine möglichst anfängerfreundliche Methode zeigen könnte - evtl genügt auch ein Stichwort oder ein Link.

    Die Frage hat ja nicht mehr allzu viel mit meinem ursprünglichen anliegen zu tun, wenns gewünscht wird kann ich auch gern nen neuen Thread erstellen.



  • wildschwein schrieb:

    mit fprintf

    Ist auch aus C. Nutze std::fstream :

    #include <fstream>
    int main()
    {
      std::ifstream Read("Filename.txt");
      //Von Read lesen
      Read.close(); //Bin mir nicht sicher ob nötig oder nicht
    
      std::ofstream Write("Filename.txt");
      //Nach Write schreiben
    }
    


  • EOutOfResources schrieb:

    #include <fstream>
    int main()
    {
      std::ifstream Read("Filename.txt");
      //Von Read lesen
      Read.close(); //Bin mir nicht sicher ob nötig oder nicht
    
      std::ofstream Write("Filename.txt");
      //Nach Write schreiben
    }
    

    Dafür hat uns der Herr Blöcke geschenkt.

    #include <fstream>
    int main()
    {
      {
        std::ifstream Read("Filename.txt");
        //Von Read lesen
      }//Schwuppduwupp, und Read ist weg. 
    
      std::ofstream Write("Filename.txt");
      //Nach Write schreiben
    }
    


  • volkard schrieb:

    Dafür hat uns der Herr Blöcke geschenkt.

    Ich finde unbedingte Scopes hässlich.



  • EOutOfResources schrieb:

    volkard schrieb:

    Dafür hat uns der Herr Blöcke geschenkt.

    Ich finde unbedingte Scopes hässlich.

    Dafür kann ich nicht aus Versehen von Read lesen, nachdem er geschlossen wurde.



  • volkard schrieb:

    Dafür kann ich nicht aus Versehen von Read lesen, nachdem er geschlossen wurde.

    Stimmt, daran habe ich nicht gedacht.



  • #include <fstream>
    int main()
    {
      std::ifstream Read("Filename.txt");
      //Von Read lesen
      Read.close(); //Bin mir nicht sicher ob nötig oder nicht
      #define Read (void)("dead name")
    
      std::ofstream Write("Filename.txt");
      //Nach Write schreiben
    }
    


  • Warum nicht read/write in freie Funktionen auslagern?



  • Danke für eure Antworten!

    Wenn ich nun mit ofstream eine Textdatei so beschreibe, dass in jeder Zeile genau ein Attribut(Strings bzw Integers) eines Elements meines Vektors steht, wobei für unterschiedliche Attribute unterschiedliche Dateien verwendet werden - wie kann ich diese wieder zeilenweise auslesen? Klappt das auch wenn ich Zahlen (in dieser Datei steht dann also nix anderes) direkt wieder als integer betrachten möchte?

    Bin bisher v.a. auf getline() gestoßen, aber ich werd um die Uhrzeit irgendwie nicht mehr recht schlau draus 😉



  • Ich würde die Daten auf jeden Fall nicht auf mehrere Dateien verteilen, sondern jedes Objekt "am Stück" (d.h. die einzelnen Attribute hintereinander) speichern. Dazu schreibst du dir z.B. zwei Methoden, die jeweils ein Element lesen bzw. schreiben können und kannst diese dann auf den gesamten vector<> anwenden (die hohe Kunst ist es, dafür die Stream-Operatoren zu überladen).


Anmelden zum Antworten