Funkcija memcmp () u C ++ uspoređuje određeni broj znakova dva pokazivačka objekta
prototip memcmp ()
int memcmp (const void * lhs, const void * rhs, size_t count);
memcmp()
Funkcija traje tri argumenta: LHS, RHS i brojati. Ova funkcija prvo interpretira objekte na koje ukazuju lhs i rhs kao nizove unsigned char
. Zatim uspoređuje leksikografski prve brojeve znakova lhs i rhs.
Definirano je u datoteci zaglavlja "> datoteka zaglavlja.
parametri memcmp ()
lhs and rhs
: Pokazivač na memorijske objekte za usporedbu.count
: Maksimalan broj bajtova za usporedbu.
memcmp () Povratna vrijednost
Funkcija memcmp () vraća:
- pozitivna vrijednost ako je prvi bajt koji se razlikuje
lhs
veći od odgovarajućeg bajta urhs
. - negativna vrijednost ako je prvi bajt koji se razlikuje
lhs
manji od odgovarajućeg bajta urhs
. - 0 ako su prvi bajtovi broja
lhs
irhs
jednaki.
Primjer: Kako funkcionira memcmp () funkcija
#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; )
Kada pokrenete program, izlaz će biti:
Prvih 5 znakova Hello World! i Zdravo Zemljo! su isti Hello Earth! prethodi Hello World!