Siemka!!
Mam taki problem
Mam plik który zawiera takie informacje
Tytul: dd
Autor: ff
Gatunek: gg
Cena: 44.00
Tytul: dd
Autor: ff
Gatunek: gg
Cena: 77.00
I chce zrobić w programie tak żeby, pobierając pierwszą partie danych, Tworzył dynamicznie tablice struktur na jeden element,
następnie kiedy dojdzie do drugiej to poszerzy tą tablice o 1 element i wczyta dane, itd. Wczytywanie kończy się kiedy plik się skończy
oto jak wyglądają moje wypociny,
// przy pierwszym uruchomieniu programu realokacja=1
case 5:
i = 0;
if( ( bazatxt = fopen("ksiazki.txt", "r") ) == NULL )
{
fprintf(stderr,"Nie mozna otworzyc pliku\n");
exit(EXIT_FAILURE);
}
tab_ksiazki = (struct ksiazka *) malloc (realokacja * sizeof(struct ksiazka));
while( fgets(tab_ksiazki[i].tytul, TXT, bazatxt) != NULL)
{
fgets(tab_ksiazki[i].autor, TXT, bazatxt);
fgets(tab_ksiazki[i].gatunek, TXT, bazatxt);
fgets(numer, TXT, bazatxt);
tab_ksiazki[i].cena = atoi(numer);
ch = getc(bazatxt);
++realokacja;
if( ( tmp = (struct ksiazka *)realloc( tab_ksiazki, realokacja * sizeof(struct ksiazka) ) ) == NULL )
{
fprintf(stderr,"Realokacja niepowiodla sie\n");
exit(EXIT_FAILURE);
}
else
{
tab_ksiazki = tmp;
}
i++;
}