Announcement

Collapse
No announcement yet.

Aus einer txt-Datei lesen und Zeile ersetzen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Aus einer txt-Datei lesen und Zeile ersetzen

    Hallo,
    ich möchte ein C++ Programm schreiben; das Programm soll aus EINER Textdatei (text.txt) eine bestimmte Zeile auslesen und diese Zeile durch einen vorgegeben Text ersetzen.

    Beispiel Inhalt text.txt:

    mofa
    rennrad
    motorrad

    jetzt soll nun rennrad durch auto ersetzt werden

    die Textdatei text.txt sollte dann so aussehen:

    mofa
    auto
    motorrad

    hättet ihr eine Idee?

  • #2
    Man kann keine bestimmte Zeile aus einer Datei auslesen, sofern nicht alle Zeilen gleich lang sind.

    Datei komplett lesen und neu schreiben
    Christian

    Comment


    • #3
      Originally posted by Christian Marquardt View Post
      Man kann keine bestimmte Zeile aus einer Datei auslesen, sofern nicht alle Zeilen gleich lang sind.

      Datei komplett lesen und neu schreiben
      Also du meinst ich müsste eine "Text_lesen.txt" haben von der ich lese, und dann die Datei "Text_ausgeben.txt"; versteh ich das richtig?

      Ich habe zwar ein Programm geschrieben, doch nur die geänderte Zeile wird in die Datei Text_ausgeben.txt geschrieben, alle anderen zeilen fehlen. Wie kann ich den Fehler beheben?

      Code:
      #include<iostream>
      #include<fstream>
      #include<string>
      #include<vector>
      using namespace std;
      
      int main()
      {
          
          ifstream datei("Text_lesen.txt");//zum lesen vorbereiten
          vector<string> zeilen; //hier werden die zeilen aus der datei reingepackt
          string temp; //zum temporären speichern der zeile
      
          while(getline(datei,temp))//solange lesen, solange zeilen vorhanden sind
          {
             zeilen.push_back(temp);//in den vector hinten ran pushen
          }
          datei.close();
          datei.clear();
       
      // Zeile schreiben
         ofstream datei_schreiben("Text_ausgeben.txt");
         
           datei_schreiben<<zeilen[0]<<endl;
      
         datei_schreiben.close();
      }

      Comment


      • #4
        datei_schreiben<<zeilen[0]<<endl;
        Du schreibst nur 1 Zeile.

        EDIT
        doch nur die geänderte Zeile wird in die Datei Text_ausgeben.txt geschrieben
        Kann nicht erkennen, wo etwas "geändert" wird
        Zuletzt editiert von Christian Marquardt; 05.04.2009, 16:53.
        Christian

        Comment

        Working...
        X