Ringpuffer in Datei

Gast #3418505
Lesenswert?

Hallo zusammen,

ich möchte in C Messdaten in einen Textdatei schreiben um mit einem 
anderen Programm zu kommunizieren. Die Daten werden regelmässig 
aktualisiert, was im wesentlichen bedeutet, dass die erste Zeile der 
Textdatei gelöscht wird und ans Ende einen neue Zeile angefügt wird. 
Gibt es in C irgendeine Möglichkeit das ganze zu machen ohne immer 
wieder die gesamte Datei einzulesen?

Grüße,

Hubert
Gast #3418735
Lesenswert?

Rufus Τ. Firefly schrieb:
> Die Dateizeigerpositionierung hilft bei Textdateien nur, wenn die
> Zeilenlänge konstant ist. Dann kann man so etwas machen, sonst aber
> nicht.

Auch damit ist es aber nicht möglich, die erste Zeile einer Textdatei zu 
löschen, ohne die folgenden umzukopieren.

hubert schrieb:
> Gibt es in C irgendeine Möglichkeit das ganze zu machen ohne immer
> wieder die gesamte Datei einzulesen?

Statt einer Datei eine Pipe nehmen. Die ist genau dafür gemacht.
http://de.wikipedia.org/wiki/Pipe_(Informatik)
Gast #3419425
Lesenswert?

Vielen Dank für die Vorschläge und Danke, Rene, für den Buchtip, das 
sieht interessant aus. Wie es scheint gibt es für die Datei ja doch 
keine Möglichkeit die nicht auf komplettes Einlesen und Neuschreiben 
hinausläuft. Dann werde ich mal über die Pipe nachdenken. Wenn ich es 
recht verstehe, dann würde ich damit einfach den neuen Wert dem anderen 
Programm übermitteln, dass sich den dann in einen eigenen Ringpuffer 
überträgt und eine Datei entfällt komplett ...

Viele Grüße,

Hubert

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren