Hallo! Ich habe eine Frage: - Wie kann ich eine von einem anderen Programm bereits geöffnete Textdatei zum Schreiben, lesen? Ein Programm schreibt ständig in eine Textdatei Messwerte. Mit einem von mir geschriebenen Programm möchte ich die Messwerte auslesen.... Das ganze soll in C oder VB2005 sein. Vielen Dank!
Nur lesend dürfte (in C) kein Problem sein. Die Frage ist nur, ob der Inhalt der Datei aktualisiert wird, ich vermute nicht, denn die einfachen Texteditoren merken Änderungen an geöffneten Dateien auch nicht (der Editor von MS z.B.). Das müsstest du ausprobieren und gegebenenfalls immer wieder schließen und neu einlesen. Sowas braucht man eigntlich auch nicht zu fragen, sondern kann einfach selbst getestet werden. ;-) cu
Hallo, es kommt darauf an wie das andere Programm die Datei geöffnet hat, wenn es sie exclusiv geöffnet hat geht es nicht. Sonst einfach mit CreateFile öffnet und als Parameter FILE_SHARE_READ angeben, dann sollte das schon gehen.
VB2005 hört sich gewaltig nach MS an. Für Unix/Linux hätte ich es dir sagen können. Ich nehme an, du hast es bereits auf die naheliegendste Art und Weise versucht: 1. Datei öffnen 2. lesen bis zum EOF 3. kurz schlafen, um CPU-Last zu senken 4. weiter bei 2 Funktioniert das nicht? Was passiert? Unter Linux geht es so. Solange das schreibende Programm die Datei offen hält oder sie schließt und anschließend mit O_APPEND öffnet, werden die neu hinzugefügten Daten wie erwartet gelesen. Nur wenn die Datei neu erzeugt wird (O_CREAT), funktioniert es so nicht, was aber nachvollziehbar ist, da es sich dabei dann um eine andere Datei (mit demselben Namen) handelt.
naja ich werde es heute nochmal in C mit dem bekannten fopen() . Ich werde dann bald berichten! Liebe Grüße.
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.