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
Schau dir mal die Seite an: http://openbook.galileocomputing.de/c_von_a_bis_z/016_c_ein_ausgabe_funktionen_014.htm#mjff798e62f1469fc3901b349f005d6547 Das Online-Buch http://openbook.galileocomputing.de/c_von_a_bis_z/ ist eines der besten kostenlosen Bücher. Es wird auch regelmäßig hier im Forum zitiert. Also muss es etwas taugen :-) Grüße aus Berlin
Die Dateizeigerpositionierung hilft bei Textdateien nur, wenn die Zeilenlänge konstant ist. Dann kann man so etwas machen, sonst aber nicht.
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)
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.