2012-04-09 12 views
1

In C verwende ich fseek, um zu einer Position in der Datei zurückzukehren. Wenn ich dann in die Datei mit fprintf schreibe, überschreibt es die Zeichen an dieser Stelle. Gibt es eine Möglichkeit, fprintf/eine andere Funktion einzufügen, anstatt zu überschreiben?Einfügen (nicht überschreiben) in C

Danke

Antwort

5

Die kurze Antwort ist "Nein". Wenn Sie einfügen müssen, müssen Sie wirklich die gesamte Datei nach dem Einfügen neu schreiben.

+0

Okay, danke, ich hatte davor Angst. – workwork

+0

+1. ... oder verwenden Sie eine Art Indexierungsschema, bei dem Sie Daten schreiben, z. B. nach den vorhandenen Daten, und der Index sagt, wie Sie ihn in der richtigen Reihenfolge anordnen. –

0

Nr. C hat kein Konzept der "Dateieinfügung". Sie müssen manuell eine "Lücke" in der Datei erstellen, indem Sie alle Daten, die NACH Ihrer Einfügemarke erscheinen, an eine Stelle in der Datei kopieren.