binärdateien



  • Hi!

    Mein Problem ist folgendes: ich programmiere ein Spiel und speichere die Savegames in *.txt-Dateien...das will ich jetzt jedoch ändern, damit der Spieler keine Möglichkeit hat, diese zu verändern. Ich kenn mich mit Binärdateien noch nicht aus aber wäre das ein Anwandungsgebiet dafür? Wenn nicht, wie soll ich es dann bewerkstelligen? Verschlüsseln?



  • Hi

    Ich denke verschlüsseln, wäre wie mit Kanonen auf spatzen schiessen.
    Du kannst also ruhig binär speichern, Allerdings stehen strings nahezu unverändert in der Binärdatei.

    Das speichern is recht einfach. Aber ich denk ma du weisst wie es geht.



  • Hi!

    OK, damit waer mein erstes Problem schon beiseite geschafft. Danke :)))

    Allerdings gibts ein zweites...wie erstelle ich binärdateien???



  • Du gibst bei fopen im zweiten Parameter zusätzlich noch ein b an, z.B.

    FILE* dat = fopen("savegame.sav","wb");
    


  • Wenn ich mich nicht täusche, öffne ich damit eine binärdatei, doch wie erstelle ich ein???

    itte um Verzeihung, wenn ich komplett falsch liege...



  • Du liegst falsch..

    wb = WriteBinary

    Ist die Datei vorhanden, wird sie überschrieben, ist sie nicht vorhanden, wird sie erstellt. Um an eine bestehende Datei etwa sanzuhängen benutzt man ab = AppendBinary. Auch hier gilt: Ist sie nicht vorhanden, wird sie erstellt.

    rb wäre lesen, denn rb = ReadBinary... hier liefert fopen einen NULL-Zeiger zurück, sollte die Datei nicht existieren...

    [ Dieser Beitrag wurde am 21.06.2003 um 21:07 Uhr von Hepi editiert. ]



  • Einfach, aber effizient ist auch folgendes:

    Denk dir für deine relevanten Werte (Geld, Punkte,...) irgend eine Formel
    aus, z.B. X = Geld * Punkte und schreib das Ergebnis auch mit.
    Wenn beim einlesen dann X nicht mehr gleich Geld * Punkte ist, hat jemand
    geschummelt.

    Jockel


Anmelden zum Antworten