000
05.03.2005, 17:05 Uhr
~puetZ
Gast
|
Hallo ich habe folgendes problem: ich schreibe z.B. 3 strukturen a 48Byte in eine datei mit fwrite. da funtioniert auch prima: datei hat 144 Bytes und laut hex-editor sieht es auch gut aus. wenn ich mit folgender funktion (s.u) die 3 strukturen wieder zurücklesen möchte, wird nur die erste eingelesen, dann gibt fread 0 zurück...
fällt jemandem was auf, was ich nicht sehe? übrigens: ich habe 2 andere identische funktionen lese_kunden(), lese_strassen, die funktionieren prima...
danke
C++: |
int lese_strassen(void) { FILE* fp; int i=0, x=1; fp = fopen(STRASSEN_DATEI, "r"); if(fp == NULL) { printf("***FEHLER: Datei %s ist leer oder nicht vorhanden.\n", STRASSEN_DATEI); } else { while(x==1) { x = fread(pstrasse[i], sizeof(struct strasse), 1, fp); if (x==1) i++; printf("%d:%d ", i, x); //TEST } if(feof(fp)) printf("Dateiende erreicht.\n"); else printf("Dateiende nicht erreicht.\n"); printf("Fehlercode: %d\n", ferror(fp)); } fclose(fp); return i; }
|
Bearbeitung von typecast: |
cpp-Tags gesetzt. Bitte das naechste mal selber machen
|
Dieser Post wurde am 05.03.2005 um 17:06 Uhr von typecast editiert. |