FinalFantasy Geschrieben 10. Juni 2004 Geschrieben 10. Juni 2004 Hi, ich stehe jetzt irgendwie vor dem Problem, dass ich nicht weiss, wie man in einer Datei was ändern kann. Ich habe hier eine Configdatei (*.txt), die aber nicht INI-Norm hat, also fällt GetPrivateProfileString, etc schonmal weg. Die Parameter in der Datei sind aber relativ ähnlich, also name=wert, das ganze ist Zeilenorientiert. Jetzt möchte ich von bestimmten Variablen in der Datei den Wert ändern. Nur wie mache ich das? Wie kann ich überhaupt aus einer Datei einen einzelnen Buchstaben löschen? Kann ich irgendwie den Inhalt überschreiben, oder den alten rauslöschen und neuen Text an der Stelle einfügen? Ich glaub ich habe gerade einen Blackout :confused: Zitieren
robotto7831a Geschrieben 10. Juni 2004 Geschrieben 10. Juni 2004 Hallo, eine von wahrscheinlich vielen Lösungen geht wie folgt: Datei öffnen Tempdatei öffnen Datei lesen Tempdatei schreiben und dabei den Wert ändern/ löschen/ hinzufügen Datei schließen Tempdatei schließen Datei löschen Tempdatei in Datei umbenennen Frank Zitieren
FinalFantasy Geschrieben 10. Juni 2004 Autor Geschrieben 10. Juni 2004 öhm, dass wollte ich gerade eben editieren. Die ganze Datei einlesen, intern ändern, und neu schreiben, ist ja klar. Wäre in diesem Fall auch kein Problem, weil die Datei nicht allzugross wird. Aber mir gehts da jetzt mal ums Prinzip? Ist es also nicht möglich, eine Datei nur an einer bestimmten Stelle zu ändern, ohne die ganze Datei neuschreiben zu müssen? PS: Beim ändern habe ich das Problem, dass die Längen nicht gleich bleiben, also müsste ich wohl den Rest der Datei grundsätzlich neu schreiben, oder? Ist das wirklich so? Dann müssten ja Änderungen an grossen Dateien ewig dauern, auch, wenn ich nur einen Buchstaben einfüge Zitieren
Guybrush Threepwood Geschrieben 10. Juni 2004 Geschrieben 10. Juni 2004 Wenn ich mich jetzt nicht total irre, ist das so das du alles nachfolgende in der Datei neuschreiben musst. Eine Datei ist ja nichts anderes wie ein bestimmter Bereich im Speicher in dem verschiedene Wert hintereinander stehen, ähnlich einem String. Wenn du nun an einer Stelle einen neuen, längeren Wert einfügst dann wird der darauffolgende Speicher ja nicht automatisch verschoben, sondern du musst das erledigen. Zitieren
need-some-blood Geschrieben 11. Juni 2004 Geschrieben 11. Juni 2004 Schau mal hier da habe ich soetwas ähnliches gemacht. die Datei musst du aber jedesmal neu schreiben. MVG need-some-blood Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.