Die Funktion memcmp () in C ++ vergleicht eine bestimmte Anzahl von Zeichen zweier Zeigerobjekte
memcmp () Prototyp
int memcmp (const void * lhs, const void * rhs, size_t count);
Die memcmp()
Funktion akzeptiert drei Argumente: lhs, rhs und count. Diese Funktion interpretiert zuerst die Objekte, auf die lhs und rhs zeigen, als Arrays von unsigned char
. Dann werden die ersten Zählzeichen von lhs und rhs lexikographisch verglichen.
Es ist in der Header-Datei "> Header-Datei definiert.
memcmp () Parameter
lhs and rhs
: Zeiger auf die zu vergleichenden Speicherobjekte.count
: Maximale Anzahl zu vergleichender Bytes.
memcmp () Rückgabewert
Die Funktion memcmp () gibt Folgendes zurück:
- positiver Wert, wenn das erste abweichende Byte in
lhs
größer als das entsprechende Byte in istrhs
. - negativer Wert, wenn das erste abweichende Byte in
lhs
kleiner als das entsprechende Byte in istrhs
. - 0, wenn die ersten Zählbytes von
lhs
undrhs
gleich sind.
Beispiel: Funktionsweise der Funktion 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; )
Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:
Die ersten 5 Charaktere von Hello World! und Hallo Erde! sind gleich Hallo Erde! geht Hallo Welt voraus!