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
lhsgrößer als das entsprechende Byte in istrhs. - negativer Wert, wenn das erste abweichende Byte in
lhskleiner als das entsprechende Byte in istrhs. - 0, wenn die ersten Zählbytes von
lhsundrhsgleich 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!








