TXT Datei in Vektor speichern.



  • Hallo,

    Zunächst: Ich bin ziemlicher C++ Anfänger... und wegen meines Problemes habe ich hier und auch in einigen anderen Foren gesucht, aber keine befriedigende Antwort gefunden. Vielleicht hat wer Langeweile und hilft mir weiter.

    Ich habe in einer .txt-Datei ("werte.txt") ein Datenfeld, z.B.:
    100.5 200 300
    99 50 200 400
    37.5 130 90
    80 300 400 45.5

    Wofür die Daten stehen ist erstmal irrelevant.

    Ich würde die Daten gerne speichern in einem "Doppelvektor" vector<vector<double>> Kennwerte. Die Daten sollen also nicht einfach aufgelistet sein, sondern im Prinzip genauso gespeichert werden, wie sie in der Datei stehen.
    Kann mir da wer helfen? Einen Quellcode mit beachtenswürdigem Ansatz habe ich noch nicht.

    Wenn wer Zeit und Lust hat mir zu helfen: DANKE im voraus.

    P.S.: Ich nutze Visual Studio 2015, falls es relevant ist.



  • sigmaIng schrieb:

    Hallo,
    und wegen meines Problemes habe ich hier und auch in einigen anderen Foren gesucht, aber keine befriedigende Antwort gefunden.

    http://lmgtfy.com/?q=TXT+Datei+in+Vektor+speichern.



  • Das meinte ich... NATÜRLICH habe ich das auch schon gefunden. Finde ich aber sehr umständlich. Geht das nicht ohne templates, sondern mit seekg(), seekp() usw.? Damit ich genau sagen kann: gib mir den Wert, an der Stelle, wenn sie nicht leer ist.


  • Mod

    Wo brauchst man da Templates? Wieso sollte Gefrickel mit Dateizeigern einfach sein? Manche Leute haben komische Vorstellungen. Das sind zwei verschachtelte Schleifen, das ist alles.



  • Ja und genau das bekomme ich nicht hin... Ich dachte mir könnte wer exemplarisch aufzeigen wie man das machen kann.


  • Mod

    Werner Salomon schlägt mich dafür, aber ich halte es einfach:

    erstelle neuen Zeilenvector;
    while (lese Zeile)
    {
      Erstelle neuen Spaltenvector;
      while (lese Wert aus Zeile)
      {
        füge Wert dem Spaltenvector hinzu;
      }
      füge Spaltenvector dem Zeilenvector hinzu;
    }
    Fertig;
    

Anmelden zum Antworten