Neviem ako vytvaras strukturu takze tazko povedat preco to nefunguje. Neviem ci ti to pomoze, ale tu mas program, ktory riesi podobny problem a tam to funguje:
#include <stdio.h>
struct Osoba
{
char jmeno[20];
char prijmeni[20];
int vek;
};
int main()
{
int pocetOsob;
FILE *souborRead;
FILE *souborWrite;
printf("Zadaj pocet osob: ");
scanf("%d", &pocetOsob);
Osoba osoba[pocetOsob];
for(int j = 0; j < pocetOsob; j++)
{
printf("Zadaj meno: ");
scanf("%s", &osoba[j].jmeno);
printf("Zadaj prijmeni: ");
scanf("%s", &osoba[j].prijmeni);
printf("Zadaj vek: ");
scanf("%d", &osoba[j].vek);
}
//========================================================
souborWrite = fopen("data.bin","wb");
for(int j = 0; j < pocetOsob; j++)
{
fwrite(&osoba, sizeof(Osoba), 1, souborWrite);
}
fclose(souborWrite);
//========================================================
souborRead = fopen("data.bin","rb");
for (int j = 0; fread(&osoba, sizeof(Osoba), 1, souborRead) == 1; j++)
{
printf("Jmeno: %s\n", osoba[j].jmeno);
printf("prijmeni: %s\n", osoba[j].prijmeni);
printf("Vek: %d\n", osoba[j].vek);
}
fclose(souborRead);
//========================================================
getchar();
getchar();
return 0;
}