Witam,
Staram się napisać funkcję która pobierze z pliku tekstowego linie tekstu i zapisze je do poszczególnych pól struktury.
Oto jak mniej więcej to wygląda:
struct Dane {
int numer;
char nazwaFilmu[50];
char rezyser[30];
int rok;
char nosnik[10];
};
struct Dane *WDane;
int liczba, liczba_linii;
void wczytajDane(){
int c, i;
FILE *fp;
fp = fopen("rekordyDoWczytania.txt", "r");
//funkcja zliczajaca linie tekstu we wczytywanym pliku;
while ( (c=fgetc(fp)) != EOF ) {
if ( c == '\n' )
liczba_linii++;
}
for(i=liczba_linii; i>=liczba; --i){
fscanf(fp,"%49[^#]#%29[^#]#%d[^#]#%9", WDane[liczba+i].nazwaFilmu, WDane[liczba+i].rezyser, WDane[liczba+i].rok, WDane[liczba+i].nosnik);
}
fclose(fp);
printf("Liczba dodanych rekordow: %d", liczba_linii+1);
}
Ogólnie zmienna 'liczba' jest pobierana od użytkownika przy podaniu liczby rekordów (sam program ma być swego rodzaju biblioteczką filmów).
Chodzi mi o sczytanie pliku tekstowego postaci:
Janusze Biznesu#Jan Kowalski#1990#DVD
Bigos u Tiffany'ego#Guillermo del Toro#1969#CD
itd.
Sczytane pozycje miałyby być zapisane w kolejnych, ponumerowanych strukturach.
Nie mam tylko pojęcia jak ułożyć funkcję for, żeby całość działała poprawnie.
Będę bardzo wdzięczny za pomoc.