/***************************************************************/ /* Prof. Dr. Carsten Vogt */ /* FH Koeln, Fak. 07 / Nachrichtentechnik */ /* http://www.nt.fh-koeln.de/vogt */ /* */ /* Beispielprogramm p07030400.c */ /* aus "C fuer Java-Programmierer", Hanser-Verlag */ /* */ /* Demonstriert wird die formatierte Datei-Ein- und -Ausgabe */ /* im Textmodus. */ /***************************************************************/ #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.txt","w"); for (i=0;i<10;i++) fprintf(fp,"%40s %5d %7.2f\n",angestellte[i].name,angestellte[i].personalnummer,angestellte[i].gehalt); fclose(fp); anginf_pt = (struct angestellten_info *) malloc(10*sizeof(struct angestellten_info)); fp = fopen("datei.txt","r"); for (i=0;i<10;i++) fscanf(fp,"%40s %d %f",anginf_pt[i].name,&anginf_pt[i].personalnummer,&anginf_pt[i].gehalt); 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; }