Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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:

Geschrieben

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

Geschrieben

ö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

Geschrieben

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.

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...