你好,我有一些問題與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