Jestem w trakcie pisania programu opartego na liście jednokierunkowej. Zatrzymałam się jednak na próbie odczytu danych z pliku tekstowego.
Ta konkretna funkcja wygląda u mnie tak:
void OdczytZPliku() {
FILE* plik=fopen("plik.txt", "r");
if(plik==NULL) {
printf("brak pliku\n");
return;
}
struct Dane *nowy=malloc(sizeof(struct Dane)), *pom=malloc(sizeof(struct Dane));
while(!feof(plik)) {
fscanf(plik, "%s %s %d-%d-%d %s %f %f %f", nowy->n, nowy->i, &nowy->rok, &nowy->msc, &nowy->d, nowy->m, &nowy->d1, &nowy->d2, &nowy->p);
if(poczatek==NULL)
poczatek=nowy;
else {
pom=poczatek;
while(pom->nast!=NULL)
pom=pom->nast;
pom->nast=nowy;
}
}
fclose(plik);
}
Wszystkie dane, które próbuje odczytać funkcją fscanf znajdują się w jednej linii w pliku. Cały program kompiluje mi się, ale kiedy chcę odwołać się do tej funkcji wywala mi błąd. Proszę o jakieś wskazówki, ponieważ siedzę nad tym już jakiś czas i nie mogę wymyślić nic, co by zadziałało.