Mam program który w pierwszej pętli zlicza ile jest liczb w tablicy (licznik), następnie tworzy tablicę oraz wpisuje do niej liczby (liczby są oddzielone w pliku średnikiem). Dlaczego występuje błąd przepełnienia tablicy?
int liczba, licznik = 0;
FILE* plik = fopen("Out.txt", "r");
rewind(plik);
while (!feof(plik))
{
fscanf(plik, "%d;", &liczba);
if (feof(plik)) break;
licznik++;
}
int* tab = new int[licznik];
licznik = 0;
while (!feof(plik))
{
fscanf(plik, "%d;", &liczba);
if (feof(plik)) break;
tab[licznik] = liczba;
licznik++;
}
fclose(plik);