/* blockread.c Liest 7 int-Werte und 3 float-Werte aus der Datei TEST.DAT im Binaerformat */ #include #include #define N1 7 #define N2 3 int main() { int buffer1[N1]; float buffer2[N2]; FILE *fp; char *dateiname = "TEST.DAT"; int lv, ergebnis1, ergebnis2; if ((fp = fopen(dateiname, "rb")) == NULL) { printf("\nKann Datei %s nicht oeffnen.\n", dateiname); return EXIT_FAILURE; } else { ergebnis1 = fread(buffer1, sizeof (int), 7, fp); ergebnis2 = fread(buffer2, sizeof (float), 3, fp); for (lv = 0; lv < ergebnis1; lv++) printf("\n Aus Datei %s wurde %d eingelesen.", dateiname, buffer1[lv]); for (lv = 0; lv < ergebnis2; lv++) printf("\n Aus Datei %s wurde %f eingelesen.", dateiname, buffer2[lv]); if (feof(fp)) printf("\nDateiende erreicht."); fclose(fp); printf("\n\nInsgesamt wurden %d Zahlen aus der Datei gelesen.", ergebnis1 + ergebnis2); } return EXIT_SUCCESS; }