Datei einlesen und bestimmte Stelle(n) ausgeben mit <ifstream>



  • Hallo. Ich habe eine Datei (praktisch ne Textdatei) in der Daten in folgender Form stehen:

    Datum:           5.2.2007 - 14:44
    Produktname:     IrgendeinName
    Preis pro Stück: 1 €
    Anzahl:          1
    Gesamtkosen:     1 €
    
    Datum:           6.6.2666 - 6:66
    Produktname:     
    Preis pro Stück: 1 €
    Anzahl:          1
    Gesamtkosen:     1 €
    

    Jetzt möchte ich die Daten von Tagen abfragen... Also ca.
    "Bitte Datum eingeben (D.M.Y): "
    Und dann die ganzen Einträge eben dieses Tages anzeigen, wenn es keine gibt das ausgeben, und wenn es mehr als 10 sind nocheinmal nachfragen. Ich bekomme das aber irgendwie nicht hin... Kann mir jemand helfen?

    Kompletter Sourcecode:
    http://nopaste.llamah.org/285

    mfg



  • Kann mir niemand helfen? Ich stehe momentan echt aufem Schlauch...



  • Kopfgeldjaeger schrieb:

    Kann mir niemand helfen? Ich stehe momentan echt aufem Schlauch...

    Wie wärs mit einer umfassenderen Beschreibung dazu, was nicht geht und einem weniger umfassenden Minimal-Beispiel?



  • Dieser Thread wurde von Moderator/in nman aus dem Forum Linux/Unix in das Forum C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • ablauf:

    - datei einlesen, am besten zeilenweise in nem string vector schieben
    - nach der eingabe die stelle mit den tag suchen
    - in den nachfolgenden zeilen den string kopieren
    - das was unnoetig ist loeschen {darum kopieren}
    - wert weiterbearbeiten
    - naechste zeile



  • nman schrieb:

    Wie wärs mit einer umfassenderen Beschreibung dazu, was nicht geht und einem weniger umfassenden Minimal-Beispiel?

    Naja, ich bekomme es nichtmal hin die Daten in ein gescheites Format z bringen. Ein zweidimensionales String-Array wär doch nicht mal nicht soo schlecht, oder?
    Also die Datei zu öffnen bekomm ich ja schonmal hin 🤡

    #include <iostream>
    #include <fstream>
    using namespace std;
    int main()
    {
    fstream phile;
    phile.open("data.dat", ios::in);
    //und ab hier hakt's dann :oD
    phile.close();
    return 0;
    }
    

    Fast alle Codebeispiele die ich bis jetzt gesehen habe waren ziemlich unsauber :-//

    mfg und sry()



  • Versuch's mal damit:

    vector<string> data;
    string line;
    while(getline(phile,line))
      data.push_back(line);
    

    (PS: Wie kommst du denn auf den Variablennamen "phile"?)


Anmelden zum Antworten