Text aus Datei lesen und in einen String schreiben



  • Hallo,

    ich würde gern eine Datei mit ifstream auslesen und den ausgelesenen Text dann in einen String schreiben. In dem String ist dann bestimmt, welche Teile er vom Text ausgeben soll.
    Ich habe mir bereits 2 Listings erstellt:

    String

    string S1 ("ABChttpIch bin ein String und wir suchen nach der endung.jarAbcdefg"); //das soll nicht statisch sein. Hier soll der ausgelesene Text aus der Datei stehen
      int first = S1.find(".jar");
    
      first= first + 1;
    
      int i;
    
      string s2;
    
      i = S1.find("http");
      if(i!=string::npos) 
      {
        s2.assign(S1, i, S1.size());
        s2.erase(first);
        cout << s2 <<endl; //Ausgabe: alles vor "http" und nach ".jar" wird ignoriert
      }
      system("Pause");
    }
    

    ifstream

    ifstream infile;
    
      infile.open ("P://dev/Dev-CppPortable/Datei.txt", ifstream::binary);
    
      while (infile.good())
        cout << (char) infile.get();
        cout << endl;
      infile.close();
    
      system("Pause");
      return 0;
    }
    

    PS: Ich bin ein c++ Neuling, für konstruktive Kritik bin ich gern zu haben 🙂
    Gruß
    Zeradum



  • was funktioniert denn nicht?



  • get() liest ein einzelnes Zeichen ein - und alles, was du damit im Moment machst ist, es wieder auszugeben. Wenn du mit den Daten arbeiten willst, mußt du sie intern speichern (oder du liest gleich eine komplette Zeile per getline() ein und kannst dann nach interessanten Teilen suchen).



  • Die Programmteile funktionieren einwandfrei.

    Wie kann ich die eingelesenen Daten speichern? Ist es möglich, den string mit der vorher beim speichern vergebenen variable zu füttern?

    Gruß


Anmelden zum Antworten