Textdatei lesen und spezielle Zeile löschen?
-
Hi,
ich stehe vor einem für mich doch relativ großem Problem/Herausforderung:
Ich muss eine Textdatei erzeugen, die z.B. so aussieht:
Max;13
Peter;15
Hans;70Nun lese ich die Zeilen einzeln aus und schaue ob ich z.B. "Peter" finde.
Wenn ja, dann lese ich dazu noch den Wert hinter dem ";" ein (also "15").Im Programm ändere ich jetzt diese Daten auf "Otto" und "65".
Nun mein Problem:
Wie kann ich den Datensatz "Peter;15" überschreiben oder löschen, so dass
ich folgendes erhalte:Max;13
Otto;65
Hans;70Komme ich irgendwie an die Zeilennummer? Wie lösche ich die ganze Zeile dann weg?
Suchen mache ich momentan über den CString und Find...Das Schreiben mache ich momentan so:
CFile textfile; CString m_Output = "c:\\test.txt"; if (!textfile.Open(m_Output, CFile::modeCreate | CFile::modeWrite)) { AfxMessageBox("Datei konnte nicht geschrieben werden!"); } else { textfile.Write(userid,strlen(userid)); textfile.Close(); }
-
Zeilen löschen/einfügen geht auf Datei-Ebene nicht so einfach. Wenn du viel mit der Datei vorhast, solltest du sie besser einmal einlesen (z.B. zeilenweise in einen vector<string>), dann im Speicher die Daten bearbeiten und am Ende alles zurückschreiben.