Mam do napisania program który kopiuj liczby całkowitej z pliku do tablicy dynamicznie alokowanej. Liczby całkowite znajdują się w l_c.txt oddzielone spacjami. Po uruchomieniu wypisuje 5 zer mimo że w pliku jest 10 liczb całkowitych róznych od 0. Gdzie jest błąd?
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i = 0;
int l;
int *tab;
FILE *l_c;
if((l_c = fopen("l_c.txt", "r")) != NULL)
while(fscanf(l_c, "%d", &l) == 1)
i++;
else
return -1;
tab = (int *)malloc(sizeof(int) * i);
i = 0;
while(fscanf(l_c, "%d", &l) == 1) {
tab[i] = l;
i++;
}
for(i = 0; i < sizeof(tab) ; i++)
printf("%d, ", tab[i]);
printf("\n");
fclose(l_c);
return 0;
}