Zum Inhalt springen

textdatei leeren


LLpresident

Empfohlene Beiträge

hey. ich hab folgendes problem: ich hab ne textdatei. diese soll geleert werden. dann will ich in diese textdatei etwas neues reinschreiben.

quelltext:

ofstream NichtGefiltert("c:\\Programme\\Borland\\CBuilder5\\Projects\\LogAuswerter_Abschluss\\Programm\\application_test.txt", ios::app);

NichtGefiltert.clear();

while(Zeichen != EndOfLine)

{

Makiert.get(Zeichen);

NichtGefiltert << Zeichen;

}

NichtGefiltert.close();

der befehl NichtGefiltert.clear(); funktioniert aber nicht. woran liegt das? ich bekomme nämlich keine fehlermeldung.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@klotzkopp: weil ich sie in der while-schleife darunter neu füllen will.

hm. und wie bekomme ich die datei dann leer? will nämlich mehere zeilen einlesen und für jede extra in die txt schreiben. dadurch das ich app benutze werden bei jedem aufruf die gleichen zeilen wieder reingeschirben. und das soll nicht passieren. deshalb will ich die textdatei bevor ich in sie schreibe leeren.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von LLpresident

dadurch das ich app benutze werden bei jedem aufruf die gleichen zeilen wieder reingeschirben.

Nein. Dadurch wird an die bestehende Datei angehängt (app steht für "append" = anhängen).

und das soll nicht passieren. deshalb will ich die textdatei bevor ich in sie schreibe leeren.
Dann sag einfach nicht, dass du anhängen willst. ios::out | ios::trunc sollte es tun. Dann wird die Datei gleich beim Öffnen geleert.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von LLpresident

dadurch das ich app benutze werden bei jedem aufruf die gleichen zeilen wieder reingeschirben. und das soll nicht passieren. deshalb will ich die textdatei bevor ich in sie schreibe leeren.

...na jetzt muss ich aber schon mal lachen.....vielleicht hast dich aber auch nur ungluecklich ausgedrueckt :D

Du sagst du nimmst die Option "Anhaengen" (Append) und beschwerst dich, weil dann jedes mal dein Text angehaengt wird. Deshalb willst du die Datei dann auch immer leeren.

Is das wirklich dein Ernst? ;)

Koenntests ja auch mit nem ios::trunc probieren.

Goos

Link zu diesem Kommentar
Auf anderen Seiten teilen

jep. es ist mein ernst. diese funktion wird für jede zeile einzeln aufgeruffen da ich nach bestimmten kriterien abfragen lasse. es wird also mehrmals in die funktion reingegangen wodurch ich durch benutzung von out auch nur die letzte zeile bekommen würde. brauche aber alle zeilen.

hier die komplette funktion:

void __fastcall TForm1::App_Filter_Checked()

{

Zaehler = 0;

int Index;

Index = 0;

char const *Path_test = "c:\\Programme\\Borland\\CBuilder5\\Projects\\LogAuswerter_Abschluss\\Programm\\application_test.txt";

ifstream Makiert("c:\\Programme\\Borland\\CBuilder5\\Projects\\LogAuswerter_Abschluss\\Programm\\application_checked.txt", ios::in);

while(!Makiert.eof())

{

Zaehler++;

Makiert.get(Zeichen);

Zeile[0] = Zeile[1];

Zeile[1] = Zeile[2];

Zeile[2] = Zeichen;

if(Zeichen == EndOfLine)

{

if(Zeile[0] == Checked[0] && Zeile[1] == Checked[1] && Zeile[2] == Checked[2])

{

ifstream::pos_type pos = Makiert.tellg();

pos = pos - Zaehler;

Makiert.seekg(pos);

Makiert.get(Zeichen);

ofstream NichtGefiltert("c:\\Programme\\Borland\\CBuilder5\\Projects\\LogAuswerter_Abschluss\\Programm\\application_test.txt", ios::app);

NichtGefiltert.clear();

while(Zeichen != EndOfLine)

{

Makiert.get(Zeichen);

NichtGefiltert << Zeichen;

}

NichtGefiltert.close();

clbApp_Gef_Fehler->Items->LoadFromFile(Path_test);

}

Zaehler = 0;

}

}

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

ne. funktionierrt leider nicht. habs jetzt anders geregelt. die sache mit dem in der schleiffe leeren is mir auch schon aufgefallen. habs jetzt an den anfang gesetzt und etwas geschummelt. meine leerenkunktion sieht jetzt wie volgt aus:

ofstream App_Leeren("c:\\Programme\\Borland\\CBuilder5\\Projects\\LogAuswerter_Abschluss\\Programm\\application_test.txt", ios::out);

App_Leeren << "";

App_Leeren.close();

ist leider total unsauber aber mir fällt eht nichts besseres ein. und so funktioniert es auch wie ich es mir dachte.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...