C ++ memcmp () - C ++ Standardbibliothek

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 ist rhs.
  • negativer Wert, wenn das erste abweichende Byte in lhskleiner als das entsprechende Byte in ist rhs.
  • 0, wenn die ersten Zählbytes von lhsund rhsgleich 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!

Interessante Beiträge...