Zeilen löschen

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo Leute,


    Ich versuche gerade in einer Datei eine bestimmte Zeile zu löschen.
    Das funktioniert auch ganz gut, ich habe es mit ein bisschen herumprobieren
    geschafft, aber so ganz zufrieden bin ich mit dem Ergebnis nicht.


    • Einmal Datei Öffnen , auslesen ( mit Schleife Linien auslesen )
    • zwischendrin eine Temporäre Datei erstellen & in diese alle gelesenen Linien schreiben
    • Mit einer Abfrage verhinderst du das Linien geschrieben werden die nicht benötigt werden
    • Danach löscht du die alte Datei & benennst die alte um


    Das hier habe ich versucht durchzusetzen, jedoch gelang es mir nicht die Datei
    umzubenennnen.


    Ich habe mir meine eigene Funktion geschrieben, wobei
    die wahrscheinlich sehr viel ressourcen verbraucht.


    Geht das nicht einfacher?


    Hier der stock:

    Spoiler anzeigen
    stock fdeleteline(Name[],Line[])
    {
    new File:datei=fopen(Name,io_read);
    new File:datei2=fopen("tmp.txt",io_append);
    new string[50];
    while(fread(datei,string)) if(strfind(string,Line,true)==-1) fwrite(datei2,string);
    fclose(datei);
    fclose(datei2);
    datei=fopen(Name,io_write);
    datei2=fopen("tmp.txt",io_read);
    while(fread(datei2,string)) fwrite(datei,string);
    fclose(datei2);
    fclose(datei);
    fremove("tmp.txt");
    return 1;
    }


    LG
    Pille