Piszę krótki program, który miałby wczytywać dane z pliku tekstowego podawanego w wierszu poleceń (zawierającego elementy imię, nazwisko i wiek, czyli np.:

Jan Kowalski 45
Adam Nowak 32

a następnie wypisać je na ekran.

Chcę użyć do tego typedef struct. Program się komplikuje, ale nie działa prawidłowo (wyskakuje brak dostępu). Co powinienem poprawić? Z góry dziękuję za pomoc

#include <stdio.h>

typedef struct {

    char imie[15];
    char nazwisko[15];
    int wiek;
}OSOBA;

int main (int argc, char *argv[]){

    FILE *wczytaj=fopen(argv[1], "r");

    OSOBA osoba[15];
    int n=0, i; 

    while (fscanf(wczytaj,"%s %s %d",osoba[n].imie, osoba[n].nazwisko, &osoba[n].wiek)==3)n++;

    for(i=0; i<n; i++){
    printf("imie: %s, nazwisko: %s, wiek: %d\n", osoba[i].imie, osoba[i].nazwisko, osoba[i].wiek);}

    fclose(wczytaj);

return 0;
}