Laenger in Datei schreiben, trotzdem extern Stichproben nehmen

10/04/2008 - 14:58 von Juergen Beisert | Report spam
Hallo,

ich habe ein Programm, das über einen làngeren Zeitraum Meßdaten in eine
Datei schreibt. Dabei ist dann auch noch die zlib beteiligt, um die
Dateigröße in einem ertràglichen Maß zu halten. Die Datei ist mit
fopen("dateiname", "w"); erstellt worden und wird mit fwrite() gefüttert,
wenn die zlib meint, daß wieder genug Daten zum Rausschreiben da seien.

Wàrend die Messung làuft, möchte ich nur mal eben in diese Datei
reinschauen. Dazu "mißbrauche" ich eine Auswerteprogramm, das eben diese
Meßdateien einlesen und auswerten kann. In diesem Programm öffne ich die
Datei mit fopen("dateiname", "r");.

Wende ich nun dieses Auswerteprogramm auf eine Datei an, bei der die Messung
noch làuft, also wo die Datei noch wàchst, passiert es mir des öfteren, daß
anschl. die Datei bei der Größe wo sie gerade angekommen war, einen Fehler
enthàlt. Das Meßprogramm schreibt aber noch brav weiter (keine
Fehlermeldung beim fwrite() ). D.h. die Datei wàchst noch weiter, ich komme
aber wegen einer Fehlermeldung der zlib nicht mehr an die Daten dahinter
ran.

Ein anderer Vesuch war, die noch wachsende Datei einfach mittel cp-Kommando
zuvor zu kopieren und anschl. das Auswerteprogramm auf die Kopie
anzuwenden. Aber auch da ist es mir passiert, daß anschl. die Originaldatei
kaputt war.

Was geht da schief? Gibt es eine andere Möglichkeit in die noch zum
Schreiben geöffnete Datei "zu schauen", ohne sie (wie und warum auch immer)
dabei kaputt zu machen?

Jürgen
 

Lesen sie die antworten

#1 Helmut Kreft
11/04/2008 - 00:28 | Warnen spam
On Thu, 10 Apr 2008 14:58:51 +0200, Juergen Beisert wrote:

Was geht da schief? Gibt es eine andere Möglichkeit in die noch zum



- Der letzte Block ist noch nicht vollstaendig geschrieben
- Der letzte Block gibt sich im ersten Bit nicht als der letzte Block zu
erkennen, was er aber muesste.

Schreiben geöffnete Datei "zu schauen", ohne sie (wie und warum auch immer)
dabei kaputt zu machen?



Mit einiger Sicherheit... nein. Bis die Datei nicht geschlossen ist,
ist sie unvollstaendig/defekt.

Helmut

Almost everything in life is easier to get into than out of.
(Agnes' Law)

Ähnliche fragen