Zum Inhalt springen

Aus einer txt-Datei lesen und Zeile ersetzen


Empfohlene Beiträge

Geschrieben

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?

Geschrieben
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

Geschrieben

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

Geschrieben
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

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...