Die C + + -Funktion vergleicht memcmp eine bestimmte Anzahl von Bytes von zwei Blöcken des Speichers. Es liefert 0, wenn sie alle Spiele und ein Wert ungleich Null , um anzugeben, welcher Wert höher ist. Die folgenden Schritte helfen Sie memcmp . Anleitung
1
Lernen Sie die Syntax der memcmp in C + +. Die vollständige Syntax ist int memcmp (const void * Zeiger1 , const void * pointer2 , size_t num) ; .
2
Beachten Sie, dass Zeiger1 und pointer2 Zeiger auf Speicherblöcke sind . Memcmp beginnt am Anfang der Speicherblöcke und vergleicht die Byte-Werte , bis sie eine Differenz oder num Byte verglichen wurden findet . Wenn num Bytes Spiel, kehrt memcmp Null . Wenn die erste nicht-übereinstimmenden Byte als unsigned char größer für Zeiger1 kehrt memcmp eine positive ganze Zahl ist. Andernfalls gibt es eine negative ganze Zahl ist.
3
Verstehen, dass die C + + memcmp Funktion wird in der Bibliothek cstring gehalten . Möglicherweise müssen Sie die Header-Datei string.h umfassen , um diese Funktion nutzen
4
Blick auf die folgende komplette Programm für einige einfache Beispiele für die Verwendung von memcmp : .
# Include # include
int main () {char Zeichenfolge1 [80] ; char Zeichenfolge2 [80] ; int n; size_t length1 , length2 ;
printf ("Geben Sie einen String ein: "); bekommt ( string1 ); printf (" Geben Sie einen anderen String :"); gets ( string2 ); length1 = strlen ( string1 ); length2 = strlen ( string2 ); n = memcmp ( string1 , string2 , length1 > length2 length1 : length2 ); if ( n> 0) printf (" '% s' ist größer als '% s' \\ n ". , Zeichenfolge1, Zeichenfolge2 ); else if ( nprintf ( " '% s ' ist kleiner als '% s' \\ n . " Zeichenfolge1, Zeichenfolge2 ); elseprintf ( " '% s' ist das gleiche wie '% s' \\ n ", Zeichenfolge1, Zeichenfolge2 ); .
return 0; }
5 < p> beachten Sie die folgende Ausgabe für dieses Programm :
Geben Sie eine Zeichenfolge : Dies ist ein kurzer sentence.Enter andere Zeichenfolge : . ' . Dies ist ein kurzer Satz: " Dies ist eine viel längere Satz ist größer als ' Das ist eine viel längere Satz . '
Beachten Sie, dass die erste nicht übereinstimmende Zeichen ist ' s ' in der ersten Saite und ' m ' in der zweiten Saite . die Byte- Wert von' s ' ist 115 und das Byte Wert von ' m' ist 109, also der erste String größer ist.