你好,我的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的值可能有问题。
发布于 2012-04-18 01:10:52
在查看类似的示例之后,您可能会忽略一个*,或者WORDMAX +2不是正确的方法。尝试更改那个WORDMAX以获得您正在使用的结构的大小。
https://stackoverflow.com/questions/10201345
复制相似问题