A memcmp () függvény a C ++ nyelven két mutatóobjektum megadott számú karakterét hasonlítja össze
memcmp () prototípus
int memcmp (const void * lhs, const void * rhs, size_t count);
A memcmp()
függvénynek három argumentuma van: lhs, rhs és count. Ez a függvény először az lhs és rhs által mutatott objektumokat értelmezi tömbökként unsigned char
. Ezután lexikografikusan hasonlítja össze az lhs és rhs első számjegyeit.
A "header file"> header fájlban van meghatározva.
memcmp () Paraméterek
lhs and rhs
: Az összehasonlítandó memóriaobjektumok mutatója.count
: Az összehasonlítható bájtok maximális száma.
memcmp () Visszatérési érték
A memcmp () függvény a:
- pozitív érték, ha az első eltérő byte
lhs
nagyobb, mint a megfelelő byte inrhs
. - negatív érték, ha az első eltérő byte
lhs
kisebb, mint a megfelelő byte inrhs
. - 0, ha az első szám byte
lhs
ésrhs
egyenlő.
Példa: A memcmp () függvény működése
#include #include using namespace std; void display(char *lhs, char *rhs, int result, int count) ( if(result> 0) cout << rhs << " precedes " << lhs << endl; else if (result < 0) cout << lhs << " precedes " << rhs << endl; else cout << "First " << count << " characters of " << lhs << " and " << rhs << " are same" << endl; ) int main() ( char lhs() = "Hello World!"; char rhs() = "Hello Earth!"; int result; result = memcmp(lhs, rhs, 5); display(lhs, rhs, result, 5); result = memcmp(lhs, rhs, 7); display(lhs, rhs, result, 7); return 0; )
A program futtatásakor a kimenet a következő lesz:
A Hello World első 5 karaktere! és Helló Föld! ugyanazok a Helló Föld! megelőzi a Hello World-t!