Ich schrieb o-Programm, die in inf while-Schleife arbeiten müssen. In der Schleife muss das Programm einige Daten in Datei speichern und diese Datei schließen. In der Schleife gibt es eine Schlaffunktion, die für 10 Sekunden Schlaf programmiert. Dann möchte ich überprüfen, was in der Datei ist, aber es ist leer. Wenn das Programm ohne Schleife alles läuft OK istC-Programm speichert nicht in Datei in While-Schleife
Der vollständige Code ist ziemlich riesig und so füge ich eine kurze Version
main()
{
FILE* fp;
while(1)
{
fp=fopen(SAVE_FILE, "awt");
if(fp==NULL)
{
printf("Error while opening the save file \n");
}
fprintf(fp, "%s",'this is saved text');
fclose(fp);
sleep(10);
}
}
eine Idee hat, wie Sie diese Datei korrekt schließen zu können Daten während Schlaf functiion lesen ?
(Dies ist auf Linux läuft)
'a' und' w' Modi schließen sich gegenseitig aus. Können Sie 'w' entfernen und erneut prüfen? – wRAR
Nicht direkt mit Ihrer Frage verwandt, aber 'printf (" Fehler beim Öffnen der Sicherungsdatei \ n ");' sollte gefolgt werden von 'continue;'. Andernfalls werden Sie mit einem 'fprintf (fp, .. .) 'where' fp' ist 'NULL'. –
wRAR es hilft nicht – kmbm