problem beim endlosen auslesen einer aktualisierten datei
-
hallo, ich möchte eine txt-datei einlesen und ausgeben!
doch wenn die datei ende ist soll das programm nicht aufhörern sondern
warten da die auszulesende datei aktualisiert wird!ich hab dazu dieses programm:
#include <stdio.h> #include <windows.h> int main() { FILE *stream; int a; stream=fopen("c:\\test.txt","r"); while(1) { a=fgetc(stream); printf("%c",a); Sleep(100); } //fclose(stream); //return 1; }
das auslesen klappt auch perfekt! nur nach einem "feof(stream)" wo ein
"normales" programm beenden würde werden leerzeichen ausgegeben!wenn die datei dann aktualisiert wird wird das neue auch ausgegeben, jedoch
auch alle 200ms die nicht aktualisiert wird diese leerzeichen...ich hoffe ihr könnt mich verstehen und mir tipps geben wie
ich das problem mit den leerzeichen lösen kann!danke schonmal!
DerBabel
p.s: ich kann leider nicht alle leerzeichen einfach rausfiltern da die normalen
sachen in der datei auch leerzeichen enthalten!
-
mal gebastelt, ohne gewähr
while (1){ while( (a=fgetc(stream))!= EOF) { printf("%c",a); Sleep(100); } }
-
elise schrieb:
mal gebastelt, ohne gewähr
while (1){ while( (a=fgetc(stream))!= EOF) { printf("%c",a); Sleep(100); } }
könnte funktionieren, da dein Programm wenn es am ende der datei ist immer wieder das EOF zeichen ausliest. da dies kein druckbares zeichen ist werden anscheinend leerzeichen ausgegeben
-
yap klappt!
thx, Babel