Funcția memcmp () din C ++ compară un număr specificat de caractere din două obiecte pointer
memcmp () prototype
int memcmp (const void * lhs, const void * rhs, size_t count);
memcmp()
Funcția are trei argumente: LHS, RHS și COUNT. Această funcție interpretează mai întâi obiectele arătate de lhs și rhs ca tablouri ale unsigned char
. Apoi, compară lexicografic primele caractere ale lhs și rhs.
Este definit în fișierul antet "> fișierul antet.
memcmp () Parametri
lhs and rhs
: Pointer către obiectele de memorie de comparat.count
: Numărul maxim de octeți de comparat.
memcmp () Returnează valoarea
Funcția memcmp () returnează un:
- valoare pozitivă dacă primul octet diferit în
lhs
este mai mare decât octetul corespunzător dinrhs
. - valoare negativă dacă primul octet diferit în
lhs
este mai mic decât octetul corespunzător dinrhs
. - 0 dacă primul număr de octeți
lhs
șirhs
este egal.
Exemplu: Cum funcționează funcția 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; )
Când rulați programul, ieșirea va fi:
Primele 5 personaje din Hello World! și Hello Earth! sunt aceiași Hello Earth! precede Hello World!