Wie ersetzt man eine Dateizeile mit einer anderen ?

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,


    ich wollte ein System machen, dass jeden Login eines Members einer Fraktion abspeichert. Darunter werden Datum und Uhrzeit des Logins abgespeichert. Mit einem Befehl kriegt der Leader alle Member und ihre Daten zu sehen.


    Da jeder Member bei jedem neuen Login neue Daten bekommt, muss ich in der Datei die vorher abgespeicherte Zeile mit der neuen dann ersetzen.


    Soweit ich weiß, kann man eine Zeile mit "fdeleteline(Filename, Line)" (Dazu hab ich hier aus dem Forum eine Funktion entnommen) entfernen. Ich würde, falls das möglich ist, gerne anstatt die Zeile zu entfernen, sie mit einer neuen zu ersetzen. Die Funktion "fdeleteline" ist für mich etwas zu proffessionell erstellt, daher kann ich die nicht so umstellen, dass sie eine Zeile nicht löscht, sondern ersetzt.


    Falls das jemand kann, hier die Funktion:


    public fdeleteline(filename[], line[])
    {
    if(fexist(filename))
    {
    new temp[256];
    new File:fhandle = fopen(filename,io_read);
    fread(fhandle,temp,sizeof(temp),false);
    if(strfind(temp,line,true)==-1)
    {
    return 0;
    }
    else
    {
    fclose(fhandle);
    fremove(filename);
    for(new i=0;i<strlen(temp);i++)
    {
    new templine[256];
    strmid(templine,temp,i,i+strlen(line));
    if(equal(templine,line,true))
    {
    strdel(temp,i,i+strlen(line));
    fcreate(filename);
    fhandle = fopen(filename,io_write);
    fwrite(fhandle,temp);
    fclose(fhandle);
    return 1;
    }
    }
    }
    }
    return 0;
    }


    Ich hoffe jemand hat eine Lösung für mich, stehe nämlich zur Zeit mit diesem Problem da und habe mein System zu 99 % fertig. ^^