Textdatei laden und in Array of String Speichern



  • Hallo,

    ich suche den Befehl um eine textdatei zuladen und Zeilenweise in ein Array of String auszugeben.
    vlt. kann mir einer helfen.

    Danke

    MFG Sascha



  • fstream öffnen, per getline() einlesen und in einen vector verstauen.



  • bitte? ich bin anfänger



  • einlesen sieht so aus:

    string tmp;
    vector< string > stringVec;
    
    while( getline( meineDatei, tmp ) )
       stringVec.push_back( tmp );
    


  • Wieso heißt das bei euch C++lern eigentlich push_back() 😕
    Da wird doch nichts zurückgeschoben.

    pushToEnd() könnte ich ja noch verstehen..



  • Nicht zurück aber hinten...



  • Weil die STL von intelligenten Kloppies geschrieben wurde.
    Nächste Frage!

    🙄



  • irgendwie will das alles nicht. Kann mir das einer ein bisschen ausführlicher erklären



  • sascha_ow schrieb:

    irgendwie will das alles nicht. Kann mir das einer ein bisschen ausführlicher erklären

    Hallo Sacha,
    Zeig' uns einfach mal die ersten Zeilen der Textdatei und sage uns, was Du mit den Zeilen nachher anstellen willst, nachdem Du sie eingelesen hast. Dann kann man konkreter antworten.

    Gruß
    Werner



  • ich habe noch kein problem, ich würde nur gerne wissen wie das geht. Ich steige gerade von Delphi auf C++ um. Und da ich C++ nur auf Konsoleprogrammiere kann ich mir das gar nicht vorstellen: Aber nehmen wir an das ich eine Textdatei habe mit 5 Zeilen in der 1. steht "a" in der zweiten "b" usw. und jetzt möchte ich das ich das a,b,c,d,e in ein Array of String haben will mystring[0] = zeile1 usw.



  • using namespace std;
        ifstream file("input.txt");
        vector< string > mystring;
        copy( istream_iterator< string >( file ), istream_iterator< string >(), back_inserter( mystring ) );
    

    das funktioniert, solange in einer Zeile immer nur ein Wort steht (kann auch ein Buchstabe sein). Das 'copy' liest alle Worte aus einer Datei aus und speichert sie in 'mystring'.
    An Include's braucht man dazu:

    #include <algorithm>    // copy
    #include <fstream>
    #include <iterator>     // back_inserter, istream_iterator
    #include <string>
    #include <vector>
    

    Gruß
    Werner


Log in to reply