Text aus einer Datei laden



  • Hallo,

    ich hab mal wieder ein Problem und hoffe, dass ihr mir weiterhelfen könnt. Und zwar speichere ich Daten, in diesem Fall Strings, in einer Textdatei ab. Ich habe also beispielsweise ein String "name" definiert und ein String "strasse".

    string name = "Max Mustermann";
    string strasse = "Muellerstrasse 21";
    

    Nun speichere ich dies beiden Strings in eine Textdatei. Dann steht in der Textdatei:

    Max Mustermann
    Muellerstrasse 21

    Das funktioniert auch alles bestens. Allerdings möchte ich den vollständigen Namen und die Strasse auch wieder aus der Datei laden und den Strings übergeben. Ich weiß aber nicht wie ich es anstellen soll.

    Normalerweise öffnet man eine Datei ja wie folgt und liest dann wortweise bzw zeichenweise:

    ifstream infile(Dateiname.c_str());
    infile >> name;
    

    Wenn ich hier aber wortweise lese, dann übergebe ich in meinem Fall ja nur "Max" und nicht den Nachnamen "Mustermann". Wie kann ich es also hinkriegen, dass ich den kompletten Namen im String "name" speicher. Und was ist, wenn der Name nicht nur aus 2 Worten besteht, sondern aus mehreren, wie z.b. bei Doppelvornamen (Max Georg Mustermann). Bitte helft mir. ICh bin echt schon am verzweifeln. Danke.



  • Eine geeignete Möglichkeit für sowas (neben vielen anderen) findest du hier:
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-39469.html
    die Sache mit den Structs.



  • Die Sachen hören sich aber relativ kompliziert an. Gibt es da nicht eine einfachere Variante, z.B. dass ich vielleicht zeilenweise aus der Textdatei lese. Ist dies denn auch möglich und wenn ja wie? Danke.



  • string name, strasse;
    ifstream infile(Dateiname.c_str());
    std::getline(infile, name); // zeilenweise einlesen
    std::getline(infile, strasse); // zeilenweise einlesen
    


  • Danke für die rasche Antwort, aber ich hab es sogar ohne Hilfe gepackt. Trotzdem vielen Dank.


Anmelden zum Antworten