void* bsearch( const void* kvpFind,
const void* kvpArray,
size_t qNumberOfElements,
size_t qElementSizeInBytes,
int (*pfnCompareFn) ( const void *, const void *));#include <iostream>
#include <cstdlib>
int MyCompare(const void* kvpFirst, const void* kvpSecond) {
int iFirst = *((int*)(kvpFirst));
int iSecond = *((int*)(kvpSecond));
if (iFirst < iSecond) {
return -1;
} else if (iFirst == iSecond) {
return 0;
} else {
return 1;
}
}
int main() {
using namespace std;
int iaArray[9] = {1, 3, 6, 7, 9, 13, 15, 16, 19};
int iSeven = 7;
// Search for the value seven in the array
void* vpResult = bsearch(&iSeven, iaArray, 9, sizeof(int), MyCompare);
// Seven is found at the element #3 in the array
cout << "Found at element #"
<< (((int*)vpResult) - (int*)iaArray) << endl;
return 0;
}
© 20072025 XoaX.net LLC. All rights reserved.