Здравствуйте, у меня есть некоторые проблемы с функцией bsearch(). Я получаю исключение «Чтение местоположения нарушения доступа». Я его с помощью следующим образом:bsearch с динамическими массивами в C
typedef char **arstr;
int compareexp(const void *a, const void *b){
return strcmp(*(const arstr)a, *(const arstr)b);
}
binsrch = bsearch(&key, file_array, linecount, WORDMAX+2, compareexp);
«file_array» мой динамический массив строк с 2401 элементами. каждый элемент имеет длину не более 22 символов, импортированных из документа * .txt.
«linecount» - целое число 2402 и относится к номеру строки из того же документа * .txt.
«WORDMAX» определяется как 20
Я не получить причину, почему моя функция терпит неудачу. Я думаю, что что-то не так со значениями из linecount или WORDMAX.
как вам позвонить compareexp? – chikuba
это сопоставитель Аргумент моего bsearch(), как описано здесь http://www.cplusplus.com/reference/clibrary/cstdlib/bsearch/ –