Hey, mam olbrzymią tablice z przydzielanymi dynamicznie wkaźnikami na słowa których jest dość sporo(2,703,812) bo to cały słownik. Mam problem z zastosowaniem funkcji bibliotecznej qsort. Po posortowaniu sprawdzam czy słowo występuje w tablicy i chodź wiem że slowo istnieje dostaje wynik że nie występuje.Jakieś sugestie?
char **tablica_slow; //globalna tablica
qsort(tablica_slow, 2703812, sizeof(char **),compare);//wywoływanie sortowania
int compare(const void *a, const void *b)
{
char *_a = (char*)a;
char *_b = (char*)b;
if((strcmp(_a , _b) < 0)) return -1;
else if((strcmp(_a , _b)==0)) return 0;
else return 1;
}
Sprawdziłem sobie na zwykłym sortowaniu przez wstawianie - to nie błąd sortowania tylko kodowania. Mimo że plik z którego czytam słowa jest w ANSI (i takie mam ustawione w kompilatorze) jesli zadam swojej funkcji jakieś slowo do sprawdzenia to wywala sie przy polskich znakach(wczytane z pliku znaki są i tak jakby w innym kodowaniu i wyswietlany jest wynik ze slowa nie ma w slowniku. Ktoś bawił się kiedys z kodowaniem? Używam CodeBlocksa na Win7.