De functie memcmp () in C ++ vergelijkt een gespecificeerd aantal tekens van twee pointerobjecten
memcmp () prototype
int memcmp (const void * lhs, const void * rhs, size_t count);
De memcmp()
functie heeft drie argumenten: lhs, rhs en count. Deze functie interpreteert eerst de objecten waarnaar lhs en rhs verwijzen als arrays van unsigned char
. Vervolgens vergelijkt het de eerste telkarakters van lhs en rhs lexicografisch.
Het wordt gedefinieerd in header-bestand "> header-bestand.
memcmp () Parameters
lhs and rhs
: Wijzer naar de geheugenobjecten om te vergelijken.count
: Maximaal aantal bytes om te vergelijken.
memcmp () Retourwaarde
De functie memcmp () retourneert een:
- positieve waarde als de eerste verschillende byte in
lhs
groter is dan de overeenkomstige byte inrhs
. - negatieve waarde als de eerste verschillende byte in
lhs
kleiner is dan de overeenkomstige byte inrhs
. - 0 als de eerste telbytes van
lhs
enrhs
gelijk zijn.
Voorbeeld: hoe memcmp () functie werkt
#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; )
Wanneer u het programma uitvoert, is de uitvoer:
Eerste 5 karakters van Hello World! en Hallo aarde! zijn hetzelfde Hallo aarde! gaat vooraf aan Hello World!