Aendern von Filedateien
-
Hallo!
Ich hab da mal ne Frage!Und zwar erstelle ich in meinem C Program eine Datei und schreibe etwas innerhalb des Programms in diese Datei rein.
Nun moechte ich an einer anderen Stelle die Datei wieder oeffnen, eine bestimmte Zeile suchen und dann etwas an diese Zeile anhaengen!
Das oeffnen und die Zeile zu suchen ist kein problem, aber ich krieg's nicht hin etwas an die Zeile anzuhaengen....hab's versucht ueber fgets in die passende Zeile zu springen und dann ueber fputs die Zeile zu veraendern oder eine neue Zeile einzufuegen, leider ohne erfolg! Auch die Stelle mit fseek zu suchen und dann etwas hinzuzufuegen geht auch nicht richtig....
Es werden immer nur Zeilen am Ende hinzugefuegt!Es ueberhaupt moeglich mittendrin etwas hinzuzufuegen oder muss ich dann manuell erst alles verschieben, damit da ueberhaupt platz ist?!
Hat jemand sonst eine Idee?!

-
Du solltest sicherstellen, dass du den richtigen Zugriff auf die Datei hast: lesen und schreiben! Dann sollte es auch möglich sein an ein Zeile etwas anzuhängen.
Ansonsten kannst du auch den Umweg wählen erst die Datei einzulesen, zu ändern und dann mit einem anderen File-Handle abzuspeichern.
-
Ws ist mir neu das es einen Insertmodus bei Files gibt. Wenn dann würdest du das nachfolgende überschreiben.
Einfacher Weg:
1. Erstell einen Puffer in Dateigröße + die Anzahl der einzufügenden Bytes
2. Lies deine Datei bis zur gewünschten Stelle in den Puffer ein
3. füge deine zusätzlichen Daten an den Buffer an
4. Lies den Rest der Datei in den Buffer
5. Überschreib die Datei mit dem Inhalt des BufferDann haste ganz gewiss auch die Daten im File stehen so wie du es haben willst
-
Habe es hinbekommen!
Danke!