Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » fstream

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
08.08.2008, 18:27 Uhr
~Peterle_33
Gast


Hallo, ich lese aus einer csv.file Zeilenweise die Zeilen aus, das funktioniert ja auch.

Nun möchte ich gleich die Zeile löschen nachdem ich sie aussgelesen habe.

Aber irgendwie schaffe ich das nicht.

Vielleicht kann mir da jemand weiterhelfen.

Hier mein Code.

Mfg. Peter

fstream f;
f.open("T\test.csv", ios::in,ios::app);


while (!f.eof())
{
f.getline(zeile,1000);
RichEdit1->Lines->Add(zeile);

Application->ProcessMessages();
Memo1->Text=IntToStr(f.tellg());
//Hier möchte ich gerne die aktuelle Zeile löschen
}

f.close();
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
08.08.2008, 22:26 Uhr
~f.-th.
Gast


Es gibt mehrere Möglichkeiten. Bei denen, die ich kenne benötigst du eine weitere Datei,
die eventuell auch nur temporär erstellt wird.
1.
Du liest deinen Datensatz und
kopierst dann die noch nicht gelesenen Daten in die temporäre Datei,
löscht die Ausgangsdatei und
benennst die temp. Datei entsprechend um.
2.
Du gibst deiner Ausgangsdatei einen anderen Namen,
liest deinen Datensatz,
kopierst den Rest unter den ursprünglichen Namen deiner Ausgangsdatei.

MfG
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.08.2008, 21:49 Uhr
~peterle_33
Gast


Ja, währe auch eine Möglichkeit.
Aber nachdem die Datei ziemlich gross ist, ca. 40mb dauert das schon recht lange
bis ich sie kopiere und wieder speichere, und das nach jeder zeile.

Gibt es nicht die möglichkeit mit den write Befehl das irgendwie zu machen ?
Mfg. Peter
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.08.2008, 23:09 Uhr
~f.-th.
Gast


Eventuell in dem den gelesenen Datensatz nicht sofort löscht,
sondern nur mit eine gelesen oder löschen Markierung versiehst
und das eigentlich Löschen erst durchführst nachdem du alles
gelesen hast was du möchtest. Dann musst du natürlich Platz
für die Markierung schaffen.

MfG f.-th.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: