kenux Geschrieben 5. April 2009 Geschrieben 5. April 2009 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?
robotto7831a Geschrieben 5. April 2009 Geschrieben 5. April 2009 Hallo, und wo ist dein Problem? Frank
kenux Geschrieben 5. April 2009 Autor Geschrieben 5. April 2009 Hallo, und wo ist dein Problem? Frank Ich habe folgendes Programm geschrieben: ifstream datei("text.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.txt"); datei_schreiben<<zeilen[0]<<endl; datei_schreiben.close(); } Doch es wird nur die jeweilige Zeile in die Datei geschrieben, aber die anderen Zeilen fehlen dann!! So soll das nicht sein. Alle anderen Zeilen sollen beibehalten werden
robotto7831a Geschrieben 5. April 2009 Geschrieben 5. April 2009 Hallo, Du holst ja auch nur eine Zeile aus dem Vektor. Frank
kenux Geschrieben 5. April 2009 Autor Geschrieben 5. April 2009 hast du einen konkreten Vorschlag wie ich es besser machen kann?
robotto7831a Geschrieben 5. April 2009 Geschrieben 5. April 2009 z. B. so: vector<string>::iterator it; for( it = zeilen.begin(); it != zeilen.end(); it++ ) { datei_schreiben << *it << endl; } [/code] Frank
kenux Geschrieben 5. April 2009 Autor Geschrieben 5. April 2009 Vielen dank für deine Antwort. Wenn ich das so mache wie du es geschrieben hast, also vector<string>::iterator it; for( it = zeilen.begin(); it != zeilen.end(); it++ ) { datei_schreiben << *it << endl; } dann wird der gesamt Inhalt wieder in die datei geschrieben plus der zeilen[0]. Aber ich will, dass die Änderung genau in der zeilen[0] geschrieben wird
robotto7831a Geschrieben 5. April 2009 Geschrieben 5. April 2009 dann wird der gesamt Inhalt wieder in die datei geschrieben plus der zeilen[0]. Dann lass doch die Zeile datei_schreiben<<zeilen[0]<<endl;[/code] weg. Jetzt muss natürlich noch an geeigneter Stelle der alte Inhalt durch den neuen ersetzt werden. Anbieten würde sich ja die Schleife wo man abfragt ob der aktuelle Inhalt der gesuchte ist und wenn ja dann den Wert austauschen und wenn nicht den Inhalt aus dem Vektor in die Datei schreiben. Frank
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden