/***************************************************************/ /* Prof. Dr. Carsten Vogt */ /* FH Koeln, Fak. 07 / Nachrichtentechnik */ /* http://www.nt.fh-koeln.de/vogt */ /* */ /* Beispielprogramm p07030500.c */ /* aus "C fuer Java-Programmierer", Hanser-Verlag */ /* */ /* Demonstriert wird die binaere Datei-Ein- und -Ausgabe. */ /***************************************************************/ #include int main(void) { FILE *fp; struct angestellten_info { char name[41]; int personalnummer; float gehalt; }; struct angestellten_info angestellte[10]; struct angestellten_info *anginf_pt; int i; for (i=0;i<10;i++) { angestellte[i].personalnummer = i; angestellte[i].gehalt = 3500 + i*13; strcpy(angestellte[i].name,"Mueller"); sprintf(&(angestellte[i].name[7]),"%2.2d",i); } fp = fopen("datei","wb"); fwrite(angestellte,sizeof(struct angestellten_info),10,fp); fclose(fp); anginf_pt = (struct angestellten_info *) malloc(10*sizeof(struct angestellten_info)); fp = fopen("datei","rb"); fread(anginf_pt,sizeof(struct angestellten_info),10,fp); fclose(fp); for (i=0;i<10;i++) printf("Eintrag %d: %s %d %.2f\n",i,anginf_pt[i].name,anginf_pt[i].personalnummer,anginf_pt[i].gehalt); return 0; }