Metzlmane
Mitglied
Hy Leute, ich hoffe ihr könnt mir weiterhelfen
Ich habe vieles ausprobiert um einen Wert mit einem Zeitstempel binär abzuspeichern und dann wieder auszulesen.
Das ganze geht auch so lange gut, wie das Programm geöffnet bleibt. Bei erneutem Ausführen und Auslesen kommen für die Zeit etwas komische -23423524-Werte raus und ich finde den Grund dafür nicht.
Ich lass den Wert eingeben und dann mit der aktuellen Zeit abspeichern und unter einem anderen Menuepunkt ruf ich dich Ausgabe auf.
Ich vermute dass es was mit
zu tun hat?
Ich habe vieles ausprobiert um einen Wert mit einem Zeitstempel binär abzuspeichern und dann wieder auszulesen.
Das ganze geht auch so lange gut, wie das Programm geöffnet bleibt. Bei erneutem Ausführen und Auslesen kommen für die Zeit etwas komische -23423524-Werte raus und ich finde den Grund dafür nicht.
Ich lass den Wert eingeben und dann mit der aktuellen Zeit abspeichern und unter einem anderen Menuepunkt ruf ich dich Ausgabe auf.
Ich vermute dass es was mit
C:
time_t sec;
time(&sec);
C:
struct mess
{
struct tm *zeit;
double wert;
}x;
void eingeben()
{
FILE *dtptr;
dtptr = fopen(datei,"ab");
if (dtptr == NULL)
{
printf("Datei konnte nicht zum Schreiben "
"geoeffnet werden!\n"); exit(-1);
}
do{
x.wert=0;
printf("- Wert%2d --> ",anzahl);
fflush(stdin);
if(scanf("%lf",&x.wert)==-1)
break;
if(x.wert <= 0 || x.wert >=1000)
continue;
else
{
anzahl++;
time_t sec;
time(&sec);
x.zeit=localtime(&sec);
fwrite(&x, sizeof (x), 1, dtptr);
printf("%d",x.zeit->tm_sec);
}
}while(1);
fclose(dtptr);
}
void auslesen()
{
FILE *dtptr;
dtptr = fopen(datei,"rb");
if (dtptr == NULL)
{
printf("Datei konnte nicht zum Schreiben "
"geoeffnet werden!\n"); exit(-1);
}
else
{
printf("\n\nInhalt von Datei <mess.dat>:"
"\n=============================="
"\n\n Wert | Datum | Std | Min | Sek "
"\n-----------------------------------------");
while(!feof(dtptr))
{
fread(&x, sizeof (x), 1, dtptr);
printf("\n %3.3lf | %d",x.wert,x.zeit->tm_min);
}
}
fclose(dtptr);
}