Ich benutze einen einfachen fstream um in eine Textdatei zu schreiben bzw. diese auszulesen. In der Datei gibt es Datensätze die durch eine +++++++++ Zeile getrennt sind. Gibt es ne Möglichkeit einen Datensatz so zu löschen, das die darauf folgenden nach "oben" gerückt werden und somit keine Lücke entsteht?
ja du kannst alle datensätze einlesen bis zu dem der gelöscht werden soll. die dann in ner tempdatei speichern. dann alle datensätze nach dem gelöschten scannen und dahinter schreiben. dann remove("alteDatei"); rename("tmpdatei", "alteDatei")
while (std::getline(inFile, line) { if (line != "++++++++") // oder wenn das die einzigen Zeilen sind, die ein + als ersten Buchstaben haben auch if (line[0] != '+') outFile << line; } }
HTH. Ist allerdings ungetestet. -- All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)Dieser Post wurde am 09.12.2004 um 11:34 Uhr von typecast editiert.