こんにちは、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の値に問題があると思います。