Witam, mam delikatny problem, który jest związany wpisaniem danych do struktury z pliku. W konsoli pojawia się błąd 0xC0000005 przy wywołaniu funkcji "readEventsFromFile" czyli próbuje uzyskać dostęp do pamięci gdzie nie mam dostępu. Może ktoś szybko spojrzeć i wskazać problem w moim kodzie?
int Size = getCount("events.txt");
Event* event = createEventArray(Size);
for(int i=0; i<Size; i++)
initEventVariables(event, LENGTH);
readEventsFromFile(event, Size);
W taki sposób tworzę strukture Event i rezerwuje pamięć dla zmiennych w strukturze:
Event* createEventArray(int Size){
Event* event = (Event*)malloc(sizeof(Event)*Size);
return event;
}
void initEventVariables(Event* event, int length){
event->home = (char*)malloc(sizeof(char)*length);
event->away = (char*)malloc(sizeof(char)*length);
event->date = (char*)malloc(sizeof(char)*length);
event->time = (char*)malloc(sizeof(char)*length);
}
I tutaj mam problem ze skanowaniem pliku i zapisaniem zmiennych do struktury:
void readEventsFromFile(Event* event, int Size){
FILE* file = fopen(fileName, "r");
for(int i=0; i<Size; i++) //Następna linia prawdopodobnie błąd
fscanf(file, "%d %s %s %s %s", &event[i].type, event[i].home, event[i].away, event[i].date, event[i].time);
fclose(file);
}