Mam do napisania program który wczytuje plik tekstowy i na jego podstawie tworzy słownik, który można będzie sortować AZ, ZA, dodawać nowe wyrazy i usuwać istniejące a następnie zapisać wszystko do pliku tekstowego w postaci tabelki.

Natrafiłem na problem przy wczytywaniu wyrazów to bazy danych którą jest dynamiczna tablica wskaźników na dynamiczne 25-elementowe tablice znaków. Kod programu wygląda następująco

#include <stdio.h>
#include <conio.h>
#include <string.h>


int ileSlow(FILE*);
void wczytajDoSlownika(FILE*, char**);
int main()
{

//wprowadzenie nazwy pliku do odczytu
char name[25];
printf("Podaj nazwe pliku do wczytania: ");
scanf("%s", name);

FILE* plik;
plik = fopen(name, "rt");

//sprawdzenie czy plik zostal wczytany
if(plik == NULL)
{
   printf("Operacja wczytanie pliku nie powiodla sie!");
   getch();
   return 0;
}
//sprawdzenie ile slow jest w tekscie
int rozmiar = ileSlow(plik);
printf ("Slow jest %d\n", rozmiar);
//stworzenie slownika
char** slownik = new char* [rozmiar];
for (int i=0; i<rozmiar; i++)
{
   *(slownik+i) =  new char[25];
}
//wypelnienie slownika
wczytajDoSlownika(plik, slownik);
//wypisanie wyrazow ze slownika
for(int i=0; i<rozmiar; i++)
printf ("%c", *(slownik+i));
//skasowanie slownika i zamkniecie strumienia
delete [] slownik;
fclose(plik);
getch();
return 0;

}


// funkcja zliczajaca wyrazy
int ileSlow(FILE* plik)
{
  char tekst[1024]={0};
  fgets(tekst, sizeof(tekst), plik);
  int licznik=0;
  int s=' ';
  for(int i=0; i<=strlen(tekst); i++)
  {
        if(tekst[i+1]==s && tekst[i]!=s)
        {
                licznik++;
        }
  }

  return licznik+1;
}

//funkcja wczytujaca wyrazy do slownika
void wczytajDoSlownika(FILE* plik, char** slownik)
{
  char tekst[1024];
  char wyraz[25];
  int poz=0;
  int j=0;
  int licz=0;
  fgets(tekst, sizeof(tekst), plik);

  while(tekst[licz] != '\0')
  {
        if ((tekst[licz]>=65 && tekst[licz]<=90) || (tekst[licz]>=97 && tekst[licz]<=122))
        {
                wyraz[j]==tekst[licz];
                j++;
        }
        else
        {
           if ((tekst[licz]==' ') || (tekst[licz]=='\0'))
                {
                        strcpy(*(slownik+poz), wyraz);
                        for (int n=0; n<25; n++)
                        {
                                wyraz[n]=0;
                        }
                        j=0;
                        poz++;
                }
                else
                continue;
        }

  licz++;
  }
}

Funkcja wczytajDoSlownika wcale nie wczytuje wyrazów i tu jest mój problem. Nie mam żadnego pomysłu dlaczego tak się dzieje, wczoraj cały dzień siedziałem nad tym i nie mogę znaleźć rozwiązania.
Jeśli ktoś byłby w stanie mi pomóc, byłbym niezmiernie wdzięczny.

Pozdrawiam