matx5
Legacy Member
Ik zou een binair bestand moeten inlezen zodat ik via een struct deze gegevens kan gebruiken in een andere functie. Maar dit wil niet lukken. Wanneer ik dit uitvoer krijg ik een hoop rommel op het scherm dat nog in het geheugen zat. Weet iemand wat ik over het hoofd zie?
Alvast bedankt!
Alvast bedankt!
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct{
int dag;
int maand;
int jaar;
}DATUM;
typedef struct{
char naam[20];
DATUM gebdat;
char geslacht;
int isVerzonden ;
}PERSOON;
int inlezen(PERSOON*);
void toonGegevens(PERSOON*, int);
int main (void){
int aantal;
PERSOON personen[20];
aantal=inlezen(personen);
printf("Overzicht\n");
toonGegevens(personen,aantal);
return 0;
}
int inlezen(PERSOON personen[]){
FILE *f;
int aantal=0;
f = fopen("vriend.bin", "rb");
while(fread(&personen, sizeof(PERSOON),1,f) == 1)
{
aantal++;
}
fclose(f);
return aantal;
}
void toonGegevens(PERSOON personen[], int aantal)
{
int i;
char maand[12][10]={"januari","februari","maart","april","mei",
"juni","juli","augustus","september","oktober","november","december"};
//toon alle gegevens, zorg voor een mooie layout
for(i=0;i<aantal;i++){
printf("%20s\t%2d\t%2d\t%4d\t%c\t%d\n", personen[i].naam,personen[i].gebdat.dag,personen[i].gebdat.maand,personen[i].gebdat.jaar,personen[i].geslacht,personen[i].isVerzonden);
}
}
.