Zeilen aus Datei rauslö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
  • Hey Leute,


    folgendes Problem: Ich habe eine Datei in der


    Geld: 500
    Bank: 200
    Level: 6


    drin steht.


    Wie kann ich nun die Zeile "Bank: 200" rauslöschen, so das "Geld: 500" und "Level: 6" untereinander steht?
    Mit welchem Befehl geht das? Ich weiß echt nicht mehr weiter...


    Ich verwende die normalen File Funktionen.

    Mit freundlichen Grüßen - Shiizuo

  • new File:datei = fopen("test.txt",io_read); //Datei öffnen (Lesemodus)
    new File:temp = fopen("test_temp.txt",io_write); //Datei zum Zwischenspeichern öffnen (Schreibmodus)
    new buff[50];
    while(fread(datei,buff)) //Inhalt aus Datei lesen
    {
    if(strfind(buff,"Bank") != -1)continue; //"Bank" gefunden, -> wird übersprungen
    fwrite(temp,buff); //Alles was nicht übersprungen wurde wird in die Zwischenspeicher-Datei geschrieben
    }
    fclose(datei); //Beide Dateien werden geschlossen
    fclose(temp);


    temp = fopen("test_temp.txt",io_read); //Datei wieder öffnen (Im Lesemodus)
    datei = fopen("test.txt",io_write); //Datei wieder öffnen (Schreibmodus)


    while(fread(temp,buff)) //Inhalt aus Zwischenspeicher-Datei lesen
    {
    fwrite(datei,buff); //Daten aus Zwischenspeicher-Datei (ohne "Bank") in die normale Datei schreiben
    }
    fclose(temp); //Beide Dateien wieder schließen
    fclose(datei);
    fremove("test_temp.txt");


    so in etwa kannst du das umsetzen. Am Besten aber immer noch abfragen ob die Datei geöffnet werden konnte
    http://wiki.sa-mp.com/wiki/Fopen