Funkcija memcmp () v jeziku C ++ primerja določeno število znakov dveh kazalnih objektov
prototip memcmp ()
int memcmp (const void * lhs, const void * rhs, size_t count);
memcmp()
Funkcija traja tri argumente: LHS, RHS in štetja. Ta funkcija najprej interpretira predmete, na katere opozarjajo lhs in rhs, kot polja unsigned char
. Nato leksikografsko primerja prve znake štetja lhs in rhs.
Določen je v datoteki glave "> datoteka glave.
parametri memcmp ()
lhs and rhs
: Kazalec na pomnilniške predmete za primerjavo.count
: Največje število bajtov za primerjavo.
memcmp () Vrnjena vrednost
Funkcija memcmp () vrne:
- pozitivna vrednost, če je prvi različni bajt v
lhs
večji od ustreznega bajta vrhs
. - negativna vrednost, če je prvi različni bajt v
lhs
manjši od ustreznega bajta vrhs
. - 0, če sta prva štetja bajtov
lhs
inrhs
enaka.
Primer: Kako deluje funkcija memcmp ()
#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; )
Ko zaženete program, bo rezultat:
Prvih 5 znakov Hello World! in Pozdravljena Zemlja! so isti Hello Earth! pred Hello World!