Ersetzen von Werten innerhalb einer Datei
-
Hallo,
Folgendes Szenario:
Ein Programm kennt verschiedene Nutzer, zum Beispiel Spieler. Die Informationen über die Spieler liegen in Userdateien, unter anderem enthalten sie das Vermögen des Spielers.
Ein Spieler möchte einem anderen 200 € schenken.
Das Programm soll also in der Datei von Spieler1 200 von der Vermögenssumme subtrahieren und sie bei Spieler2 dazuzählen.
Mein Problem:
Ich habe keine Ahnung wie das zu lösen ist, weil ich zwar aus einer Datei lesen kann und auch in sie schreiben, jedoch nicht weiß wie ich einen Wert lösche.
-
Du kannst in Dateien höchstens überschreiben, aber nicht löschen. Zwei Möglichkeiten wären: 1) Überschreiben mit Whitespace, der beim Lesen ignoriert wird. 2) Komplettes einlesen, verändern, neuschreiben.
Oder ein ganz anderer, vermutlich besserer, Ansatz: Warum liest du die Dateien nicht ein, spielst dein Spiel auf den eingelesenen Daten (da kann man leicht löschen) und speicherst hinterher die Dateien wieder ab?
-
Weil ich dann auf das problem stoße, was wenn nur ein Wert verändert wird?
Wenn die Datei zum Beispiel nicht zu einem Spiel gehört, sondern einer Kontenverwaltung, sind name und Kontonummer ja konstant. Dann müsste ich jede Variable einlesen, die werte verändern (was bedeutet dass ich doppelt so viele Variablen brauche) und dann wieder neu schreiben.
Oder ich mache einen gewaltigen Denkfehler und weiß nicht wo.
-
Ich würde sagen, dass dein Denkfehler da liegt, dsas du die Dateien ständig auf dem aktuellen Stand halten willst. Solange dein Programm läuft, kannst du die Daten ja intern lassen und sobald es beendet wird, schreibst du die aktuellen Daten.
Du kannst ja gelegentlich die Dateien neu speichern. (alle 10 Minuten, täglich o.ä)