你好,我有一些问题与bsearch()函数。我收到“访问冲突读取位置”异常。 我使用它,如下所示:在C中动态数组的bsearch
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元。每个元素是从* .txt文档导入的最长22个字符。
'linecount'是整数2402并引用来自同一个* .txt文件的行号。
“WORDMAX”被定义为20
我真的不知道为什么我的函数失败的原因。 我想从linecount或WORDMAX的值有问题。
你怎样称呼compareexp? – chikuba 2012-04-18 01:04:15
它是我的bsearch()的比较器参数,如此处所述http://www.cplusplus.com/reference/clibrary/cstdlib/bsearch/ – 2012-04-18 01:06:07