Die letzten 16 bytes einer Datei entfernen?
-
Nei ich möchte dies in der Datei vornehmen. Sonnst muss ich zbsp. eine 300mb datei extra kopieren.
-
Hm... In Standard-C geht das wahrscheinlich nicht. Frag dein OS.
-
EOutOfResources schrieb:
Hm... In Standard-C geht das wahrscheinlich nicht. Frag dein OS.
Wie ich kann nicht mal ein EOF flag setzen bei einer bestimmten position?
Bsp.
_lseeki64(fd ,-16 ,SEEK_END); fileeof(fd); <- Gibt es keine Funktion wie diese. Also eine die das Datei ende bestimmen kann? ...
-
fragemalcplus schrieb:
Wie ich kann nicht mal ein EOF flag setzen bei einer bestimmten position?
Ich glaube nicht.
-
EOutOfResources schrieb:
fragemalcplus schrieb:
Wie ich kann nicht mal ein EOF flag setzen bei einer bestimmten position?
Ich glaube nicht.
Dann muss ich extra das File in ein anders kopieren, um mir den 128Bit Hash am Ende meiner Datei zu entfernen? Das ist ja sowas von ineffizient.
-
Auf welchem System arbeitest du denn? Unter Windows würde ich die Funktion _chsize() in Betracht ziehen, was Unix/Linux zu bieten haben, weiß ich nicht.
-
man: ftruncate(3), man: truncate(3) (Unix)
-
Ich Entwickle momentan auf WindowX. Danke werde ich mir gerade mal ansehen.
Danke!
-
CStoll schrieb:
Auf welchem System arbeitest du denn? Unter Windows würde ich die Funktion _chsize() in Betracht ziehen, was Unix/Linux zu bieten haben, weiß ich nicht.
Danke das entspricht meinen Vorstellungen!
-
SetEndOfFile sollte auch klappen, wenn der Filepointer vorher entsprechend gesetzt wird und man sich die erforderlichen Rechte beim Öffnen der Datei verschafft hat.